这个问题在这里已有答案:
我对以下内容感兴趣:
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个适当命名的列 .
你可以使用assign . 在这里,我创建了10个名为 df1 , df2 等的向量,并从函数(例如, sqrt )中为它们分配值 .
df1
df2
sqrt
for (i in 1:10) { assign(paste("df", i, sep = ""), sqrt(i)) }
Edit
如果要使用具有动态名称的列创建数据框,可以使用以下命令:
for (i in 1:10) { assign(paste("df", i, sep = ""), setNames(data.frame(1:5), LETTERS[i])) }
在这里,我使用 LETTERS 来命名我的列,但你可以使用你喜欢的任何东西 .
LETTERS
1 回答
你可以使用assign . 在这里,我创建了10个名为
df1
,df2
等的向量,并从函数(例如,sqrt
)中为它们分配值 .Edit
如果要使用具有动态名称的列创建数据框,可以使用以下命令:
在这里,我使用
LETTERS
来命名我的列,但你可以使用你喜欢的任何东西 .