创建"列表"可以传递给函数的数据帧

时间:2015-01-29 17:02:04

标签: r

我想将函数应用于多个数据帧。 在Stackoverflow上已经多次回答了这个问题,例如: Apply a function to each data frameapplying 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的每个数据集?

1 个答案:

答案 0 :(得分:2)

看起来你有一个字符串列表:

list_of_dataframes<-list("df_1","df_2")

如果您想要数据框列表,请使用

list_of_dataframes<-list(df_1,df_2)