R-如何运行存储在变量中的计算
如果我有一个存储在字符向量中的算术公式,我怎样才能让R运行它呢? i、 e: 上面的结果是一个字符类型。简单地将as.numeric(_字符)放在NA中:R-如何运行存储在变量中的计算,r,formula,R,Formula,如果我有一个存储在字符向量中的算术公式,我怎样才能让R运行它呢? i、 e: 上面的结果是一个字符类型。简单地将as.numeric(_字符)放在NA中: > as.numeric(the_character, na.rm = TRUE) Warning message: NAs introduced by coercion 我知道我可以将其复制并粘贴到控制台,但我想知道是否有一种方法可以将其作为脚本的一部分自动执行?您可以使用eval和parse(如注释中所述): 但要注意以下几点
> as.numeric(the_character, na.rm = TRUE)
Warning message:
NAs introduced by coercion
我知道我可以将其复制并粘贴到控制台,但我想知道是否有一种方法可以将其作为脚本的一部分自动执行?您可以使用
eval
和parse
(如注释中所述):
但要注意以下几点:
> library(fortunes)
> fortune(106)
If the answer is parse() you should usually rethink the question.
-- Thomas Lumley
R-help (February 2005)
您的示例相当不错,但是如果您允许其他人确定要解析的字符串,那么您就打开了一个主要的安全漏洞。即使您自己构造字符串并且确信它是安全的,这种方法也容易出现难以发现的bug
如果您可以向我们提供有关字符串构造方式和最终目标的更多信息,那么我们可能会建议以更好的方式实现所需的方法。您可以使用
eval
和parse
来完成此操作(如注释中所述):
但要注意以下几点:
> library(fortunes)
> fortune(106)
If the answer is parse() you should usually rethink the question.
-- Thomas Lumley
R-help (February 2005)
您的示例相当不错,但是如果您允许其他人确定要解析的字符串,那么您就打开了一个主要的安全漏洞。即使您自己构造字符串并且确信它是安全的,这种方法也容易出现难以发现的bug
如果您能向我们提供有关字符串构造方式和最终目标的更多信息,那么我们可能会建议一些方法,以更好的方式实现您的目标。试试这个
eval(parse(text=the_character))
谢谢@Osssan,很好用!您可能有兴趣尝试此eval(解析(text=the_字符))
谢谢@Osssan,这很有效!你可能对谢谢感兴趣。我正在构建一个公式,从抓取一个HTML页面到为在线练习的下一部分构建一个url。谢谢。我正在构建一个公式,从抓取一个HTML页面到为在线练习的下一部分构建一个url。
> library(fortunes)
> fortune(106)
If the answer is parse() you should usually rethink the question.
-- Thomas Lumley
R-help (February 2005)