我想将函数应用于多个数据帧。 在Stackoverflow上已经多次回答了这个问题,例如: Apply a function to each data frame或applying a function for a list of dataframes。 但是,在创建可以将数据帧传递给函数的数据帧列表时,我的问题略有不同(初学者)。
我创建了一个函数
drawmyplot <- function(x){
variable <-x
aggregate(variable$c1, by=list(variable$c2, variable$c3), FUN=sum)
....
}
我用for循环调用该函数
for (i in list_of_dataframes){
drawplot(i)
}
我有一个数据框列表
list_of_dataframes<-list("df_1","df_2")
当我运行脚本时,我收到错误
Error in variable$c1 : $ operator is invalid for atomic vectors
据我了解,我创建了一个包含一个向量的列表,但我没有将任何数据帧传递给该函数。 在这种情况下,如何将函数应用于多个数据框df_1,df_2,df_3,...,df_n的每个数据集?
答案 0 :(得分:2)
看起来你有一个字符串列表:
list_of_dataframes<-list("df_1","df_2")
如果您想要数据框列表,请使用
list_of_dataframes<-list(df_1,df_2)