簡體   English   中英

R-將功能應用於長列表的最佳方法

[英]R - Best way to apply function to long list

我有一個長列表對象(長度以百萬計)。 我想對列表中的每個條目應用一個函數,然后返回一個新的擴充列表。 除了從1到列表的長度循環外,實現此目的的最佳和最有效的方法是什么? 下面是一個示例以及我當前正在使用的循環。

list1 <- list("zzz yyy xxx", "zzz yyy rrr", "rrr jjj ppp", "eee bbb ccc", "qqq pppp zzz")

change <- function(entry) {
    entry <- strsplit(entry, " ")[[1]]
    aug_entry <- entry[!entry %in% 'zzz']
    return(aug_entry)
}

我正在尋找一個更好的替代方案...

list2 <- list()
for (j in 1:length(list1)) {
    list2[[j]] <- change(list1[[j]])
}

我已經上網了,似乎無法找到解決此問題的好方法,我們將為您提供任何幫助。

我認為您正在尋找lapply 以您的示例為例,您可以獲取輸出

list2<- lapply(list1,function(x)change(x))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM