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

如何在R中的数据帧名称中包含变量?,r,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个适当命名列的数据帧。您可以使用。在这里,我创建了10个称为df1、df2等的向量,并

我对这样的东西感兴趣:

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

您可以使用。在这里,我创建了10个称为df1、df2等的向量,并从一个函数(例如sqrt)为它们赋值

编辑

如果要使用具有动态名称的列创建数据框,可以使用以下方法:

for (i in 1:10) {
  assign(paste("df", i, sep = ""), setNames(data.frame(1:5), LETTERS[i]))
}

在这里,我使用字母来命名我的列,但您可以随意使用。

通常,在全局名称空间中有一堆不同的变量,它们具有相似的名称和数据结构,这会使以后处理它们变得更加困难。从长远来看,您可能会更乐意将此类相关项保留在命名列表中,只需使用Lappy或Map创建该列表。这是一种更像R的数据处理方式。最好是。谢谢@Lyngbakr!如果我想将我的函数输出分配给dataframe中的特定列,该怎么办?例如,assignpastedf,i,sep=[[InfoTable$Name[i]]],sqrti语法不太正确,但我不确定在哪里使用[[]]或类似的$operator?assignpastedf,i,sep=,data.frameStuff=1:5这会将其添加到名为Stuff的列中。
for (i in 1:10) {
  assign(paste("df", i, sep = ""), setNames(data.frame(1:5), LETTERS[i]))
}