![](/img/trans.png)
[英]What is the best way to apply a function to a list of lists in R? specifically if the internal variables are all called the same thing
[英]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.