2014-02-19 50 views
1

我在R中有一系列data.frames,我想將它們保存爲文本文件,以便我可以將它們與其他人共享。在數組中使用變量名來識別和保存數據到文件

讓我們叫的data.frames a, b, c,等我可以寫一個簡單的循環,以保存這些:

for (mydata in c("a", 
       "b", 
       "c")){ 
    write.csv(x = get(mydata), 
      file = file.path("datadump",paste0(mydata,".csv"))) 
} 

然而,其他一些數據我想保存的名單; l1, l3, l4等我想用同樣的方法來保存數據,但我不知道如何保存一個元素。例如,

for (mydata in c("a", 
       "b", 
       "l1$x")){ 
    write.csv(x = get(mydata), 
      file = file.path("datadump",paste0(mydata,".csv"))) 
} 

返回錯誤:Error in get(mydata) : object 'l1$x' not found。我也嘗試過提及名單l1[[x]],那也不管用。有什麼建議麼?

+0

'$ L1是x'實際上不是一個 「對象」 嚴格地說,所以'GET'將無法訪問它。像get(l1)$「x」這樣的東西可以工作,儘管用編程方式處理起來更加困難。 –

+2

嘗試'eval(parse(text =「l1 $ x」))' –

+0

@JulienNavarre:這很有效。如果您想將其添加爲答案,我會接受它。 –

回答

2

嘗試用eval(parse(text = "l1$x"))

(謝謝)