Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R-如何运行存储在变量中的计算_R_Formula - Fatal编程技术网

R-如何运行存储在变量中的计算

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(如注释中所述): 但要注意以下几点

如果我有一个存储在字符向量中的算术公式,我怎样才能让R运行它呢? i、 e:

上面的结果是一个字符类型。简单地将as.numeric(_字符)放在NA中:

> 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)