如何在R中的数据框名称中包含变量?

时间:2017-08-24 14:30:35

标签: r

我对这样的事情感兴趣:

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个适当命名的列。

1 个答案:

答案 0 :(得分:0)

您可以使用assign。在这里,我创建了10个名为df1df2等的向量,并从函数中为它们赋值(例如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来命名我的列,但您可以使用您喜欢的任何内容。