这个问题不是关于如何使它工作,如果你正在寻找,这里有一些很好的答案。 Thread1,Thread2
我的问题是为什么这个版本不起作用
#Creating a simple list
n <- 5
my_list <- lapply(1:n, function(i) data.frame(x = rnorm(10), y = rnorm(10)) )
names(my_list) <- letters[1:n]
#Trying to write as per my intuition, produces error
lapply(my_list,write.csv,paste0(names(my_list),".csv"))
Error in file(file, ifelse(append, "a", "w")) :
invalid 'description' argument
In addition: Warning message:
In if (file == "") file <- stdout() else if (is.character(file)) { :
the condition has length > 1 and only the first element will be used
然而,使用
可以轻松实现所需的结果lapply(1:length(my_list), function(i) write.csv(my_list[[i]],
file = paste0(names(my_list[i]), ".csv")))
由于我不明白这个错误,我有很多疑惑。
lapply
一起使用并需要类似的处理?而且(甚至更好),我如何认识到功能是否需要这种治疗? lapply
?