2014-02-24 85 views
0

我正在研究R包含22個柵格單元的算法。這些被存儲在內存中。槍矢量的每個變量名稱。字符串變量R

var_names <- c(list1,list2,list3,list4) 

我使用下面的函數,但它使我只有向量變量中的第一個成員。

eval(parse(text=var_names)) 

我需要矢量的所有元素變成變量。

+0

你可以舉一個更好的例子來說明list1等等是什麼嗎?你真的想完成什麼?一般來說,有比使用'parse(text ='更好的選項,但不知道你正在努力完成的是什麼,很難給出更好的建議。 –

回答

1

這是你在想什麼?

list1 <- list2 <- list3 <- list4 <- list(1,2) 
var_names <- c("list1","list2","list3","list4") 
sapply(var_names, function(x) eval(parse(text=x))) 

    list1 list2 list3 list4 
[1,] 1  1  1  1  
[2,] 2  2  2  2  
+0

它的工作,謝謝! – perondi

+0

即使OP的問題仍然很好含糊不清,您應該添加一個標記警告,指出「eval(parse())」通常不是最佳選擇,以便稍後找到此問題的人不會被錯誤地誤導。 – joran