我有一个数据帧列表,并为列表中的每个元素(例如每个数据帧)命名:
例如:
df1 <- data.frame(x = c(1:5), y = c(11:15))
df2 <- data.frame(x = c(1:5), y = c(11:15))
mylist <- list(A = df1, B = df2)
我有一个函数,我想将它应用于每个数据框;在这个函数中,我想包括一行代码将结果写入文件(最终我想做更复杂的事情,比如保存每个数据框中两个变量之间相关性的图形,但我想从简单的开始)
例如:
NewVar <- function(mydata, whichVar, i) {
mydata$newVar <- mydata[, whichVar] + 1
write.csv(mydata, file = i)
}
我想使用lapply()
将这个函数应用到我列表中的每个数据框,类似于:
something like:
hh<-lapply(mylist, NewVar, whichVar = "y")
我无法想出如何在lapply的上下文中分配变量"i",以便i
可以在数据框列表中的名称上迭代,保存多个文件并使用不同的名称(在此例中为两个名为A
和B
的文件),与修改后的数据框相对应。
lapply()
。像plyr
包中的l_ply()
可能更合适。或者只需使用for循环。 - Ciarán Tobin