计算作为字符串给出的表达式

我很想知道R是否可以使用它的eval()函数来执行例如字符串提供的计算

这是一种常见的情况:

评估(“5+5”)

然而,我得到的不是10,而是:

[1]“5+5”

有解决办法吗

eval()函数计算表达式,但的“5+5”是字符串,而不是表达式。使用parse()text=<字符串&gt将字符串更改为表达式:

>评估(解析(text=“5+5”))
[1] 10
&燃气轮机;类别(“5+5”)
[1] “角色”
&燃气轮机;类(解析(text=“5+5”))
[1] “表达”

调用eval()

>类(eval(parse(text=“5+5”))
[1] “数字”
&燃气轮机;类(eval(parse(text=“gray”))
[1] “功能”
&燃气轮机;类(eval(parse(text=“blue”))
eval(expr、envir、enclose)中出错:找不到对象“blue”

另见tryCatch

发表评论