我对这样的事情感兴趣:
for (i in 1:10) {
df[i]<-function(x,y,i)
}
我希望输出为10个不同的数据帧,名称为df1,df2,df3等。
我知道您可以使用以下方法在数据框列名中包含变量:
for (i in 1:10) {
df[,paste0(i)]<-function(x,y,i)
}
但我想要10个独立的数据帧,而不是1个数据帧和10个适当命名的列。
答案 0 :(得分:0)
您可以使用assign。在这里,我创建了10个名为df1
,df2
等的向量,并从函数中为它们赋值(例如sqrt
)。
for (i in 1:10) {
assign(paste("df", i, sep = ""), sqrt(i))
}
修改强>
如果要创建包含具有动态名称的列的数据框,可以使用:
for (i in 1:10) {
assign(paste("df", i, sep = ""), setNames(data.frame(1:5), LETTERS[i]))
}
在这里,我使用LETTERS
来命名我的列,但您可以使用您喜欢的任何内容。