隐藏在文本中的变量

时间:2012-04-09 16:46:52

标签: r

我想问一下是否有办法看到隐藏在文本中的变量。

如果我跑

k <- eval(expression(v <- 1))

然后我得到v等于1。

但如果我有

,它是如何工作的
k <- "v <- 1"

提前谢谢

2 个答案:

答案 0 :(得分:5)

使用parse(text=k)创建表达式,然后对其进行评估:

eval(parse(text=k))
v
# [1] 1

答案 1 :(得分:0)

如果您想要评估代码,请检查evalevalq命令。

如果你只想在<-运算符之前找到任何字符串,我想你可以使用类似的东西:

regexpr("(.*)[\\s]*<-", "a <- 1", perl=TRUE)

将返回变量名称的起始索引,如果没有,则返回-1。如果您只想要变量名,可以使用substr命令提取它。