将文本转换为命令

时间:2014-12-19 10:38:23

标签: r

我想知道是否有办法将文本转换为命令并执行它。这是我正在处理的脚本的相关部分:

Var_name<- as.character(data_list[1,1])

U4005 

data_list只包含名为vectors的更大数据框中的向量名称

Comm<-paste(Var_name,”<-“,”vectors$”,Var_name)

Comm

“U4005<-vectors$U4005”

2 个答案:

答案 0 :(得分:2)

以下代码应该有效:

e <- "a <- 1"
eval(parse(text = e))
a
# [1] 1

有帮助吗?

答案 1 :(得分:1)

这似乎是一件奇怪的事情,但我认为你最好不要使用assign而不是创建&#34;互动&#34;要解析的命令。

assign(Var_name,vectors[[Var_name]])

通过这种方式,您可以循环显示您的名字,以便轻松搞定。您只需指定它是要分配的全局环境。

x <- data.frame(a=1:3,b=letters[1:3])
ls()
[1] "x"
invisible(sapply(names(x),function(y) assign(y,x[[y]],.GlobalEnv)))
ls()
[1] "a" "b" "x"
a
[1] 1 2 3
b
[1] a b c
Levels: a b c