【发布时间】:2014-12-28 05:16:26
【问题描述】:
我正在循环中创建数据框。数据框的名称应该是名称和数字的组合(循环迭代)。我为此使用了分配功能并且可以工作。我还想为数据框的行分配名称。我尝试了两种方法,但我收到错误消息“赋值目标扩展为非语言对象”和“只有第一个元素用作变量名”。下面是我正在尝试做的一个可重现的例子。
rows<-c("a","b")
df<-data.frame(var1=c(1,2),var2=c(10,20))
for (n in 1:2){
assign (paste("data",n,sep="_"),df)
rownames(get(paste("data",n,sep="_")))<-rows # it doesn't work
assign(rownames(get(paste("data",n,sep="_"))),rows) # it doesn't work
}
【问题讨论】:
-
这里已经问过很多次了。答案总是“不要那样做”。而是将您的 data.frames 放在一个列表中。