我想知道是否有办法将文本转换为命令并执行它。这是我正在处理的脚本的相关部分:
Var_name<- as.character(data_list[1,1])
U4005
(data_list
只包含名为vectors
的更大数据框中的向量名称
Comm<-paste(Var_name,”<-“,”vectors$”,Var_name)
Comm
“U4005<-vectors$U4005”
答案 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