我在循環內創建數據框。數據框的名稱應該是名稱和數字的組合(循環迭代)。我使用assign函數來完成這個工作。我也想爲數據框的行分配名稱。我嘗試了兩種方法,但是我收到了錯誤消息:「賦值目標擴展到非語言對象」和「僅第一個元素用作變量名稱」。下面是我試圖做的一個可重複的例子。將循環內的rownames賦值給構造的變量名稱
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
}
我想知道它爲什麼不起作用以及如何解決它。我發現類似的線程,如this和this,但我無法解決我的情況。謝謝。
這已經在這裏問了很多次。答案總是「不要那樣」。而是把你的data.frames放在一個列表中。 – Roland 2014-10-31 19:47:38