2014-02-24 113 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