在R中使用system()函数

科伦丁·达格

我正在R上运行新脚本,并且尝试使用r中的system()函数调用文件.exe。我跑:

system("C:/Program Files (x86)/OxMetrics6/ox/bin/oxl.exe I:/Code R/GarchOxModelling.ox", show.output.on.console = TRUE, wait = TRUE)

但它似乎无能为力。当我手动启动文件GarchOxModelling.ox时,它可以工作。您对如何从R开始工作有任何想法吗?

提前致谢

r2evans

未经测试,请尝试

ret <- system(paste(shQuote("C:/Program Files (x86)/OxMetrics6/ox/bin/oxl.exe"),
                    shQuote("I:/Code R/GarchOxModelling.ox")),
              show.output.on.console = TRUE, wait = TRUE)

您在问题中提供的代码存在一些问题:

  1. R在语法上是错误的:

    "system(C:/Program Fil...", show.output.on.console = TRUE, wait = TRUE)
    

    就像输入

    "ABC", x=1, y=2)
    

    这应该出错。

  2. 即使假设前导引号不正确,您也需要在可执行文件名称的开头加上引号,如下所示:

    system("C:/Program File...", ...)
    
  3. 不过,这是逐字传递到shell的。尽管Windows可以正确地猜测嵌入空间,但实际上并不是一个好习惯,因为假设所有情况都可能发生,因此您应该手动引用所有参数,其中(a)确实在其中包含空格,或者(b)您不知道,因为它们是变量。在这种情况下,我希望使用shQuote,但dQuote可能就足够了。

    system(paste(shQuote("C:/Program Files (x86)/OxMetrics6/ox/bin/oxl.exe"),
                 shQuote("I:/Code R/GarchOxModelling.ox")),
           show.output.on.console = TRUE, wait = TRUE)
    
  4. 建议您考虑使用intern=TRUE而不是show.output...,以便您可以以编程方式验证输出是否符合您的期望。

  5. 最后一个建议,我发现该processx程序包对于这样的调用更为可靠,

    # library(processx)
    ret <- processx::run("C:/Program Files (x86)/OxMetrics6/ox/bin/oxl.exe", "I:/Code R/GarchOxModelling.ox")
    

    自动处理报价的地方。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在R中使用函数

来自分类Dev

在R中使用toString函数

来自分类Dev

在R中使用ts()函数

来自分类Dev

在R中使用distinct()函数

来自分类Dev

在R中使用seq()和rep()函数

来自分类Dev

在R中使用clusGap函数时出错

来自分类Dev

R-在嵌套函数中使用替换

来自分类Dev

如何在R中使用Aggregate函数

来自分类Dev

R适用:在函数中使用元素索引

来自分类Dev

在r中使用变量作为函数参数

来自分类Dev

如何在R中使用layout()函数?

来自分类Dev

在Tapply或R中使用近似函数

来自分类Dev

在R中的函数中使用变量

来自分类Dev

在R中使用Apply函数而不是for循环

来自分类Dev

在R中使用for函数进行子集

来自分类Dev

在R中的函数中使用Flextable

来自分类Dev

R:在函数中使用smooth.spline

来自分类Dev

在R sapply()函数中使用内联HTML

来自分类Dev

r:在函数中使用参数列表

来自分类Dev

在R中使用内置的张量函数

来自分类Dev

在R中使用glm函数循环

来自分类Dev

在r中使用变量作为函数参数

来自分类Dev

在R中使用Apply函数的未知输入

来自分类Dev

R-在嵌套函数中使用替换

来自分类Dev

在R中使用向量更改函数的输出

来自分类Dev

在 r 的应用函数中使用 kmeans

来自分类Dev

在 R 函数中使用可选参数

来自分类Dev

在Simulink中使用System Identification Toolbox传递函数

来自分类Dev

在R中使用公式参数的麻烦使用函数