【问题标题】:How to call Rscript from R?如何从 R 调用 Rscript?
【发布时间】:2015-07-03 06:57:09
【问题描述】:

我正在开发一个包,它通过 Rscript 公开一个 R 接口(一组交互使用的函数)和一个命令行接口。第二个通过一个小型启动器工作,例如,在命令行:

Rscript mylauncher.R arg1 arg2 arg3

会调用我的包的一个函数。 我想从 R 中测试几个命令行。没什么特别的,只要确保一切运行都没有错误。 如果我在 R 源文件中测试这些调用:

system("Rscript mylauncher.R arg1 arg2 arg3")

如何确定我调用了正确的 Rscript?如果有多个 R 安装? (在我的设置中实际上就是这种情况)。 另一种方法是在 R 源文件中写入:

source("mylauncher.R")

但我不知道如何指定命令行(我会避免覆盖函数commandArgs 的技巧,因为我还想测试命令行的正确标记化)。有人有想法吗?

谢谢!

【问题讨论】:

  • 你知道“你可以从 R 调用 R”吗?换句话说,当你已经在 R 中时,你还没有解释为什么你需要去Rscript
  • @DirkEddelbuettel 我相信我解释过“我想从 R 测试几个命令行”,即我想测试在 unix 终端中编写的某些命令是否会导致错误,并且此错误不是由于调用了错误版本的 Rscript。
  • 也许(在 Unix 系统上)system("which Rscript") ?

标签: r testing rscript


【解决方案1】:

关于

如何确定我调用了正确的 Rscript?万一有 多个 R 安装?

您可以在命令行上查询R RHOME,并在R 中查询Sys.getenv("R_HOME")

然后您附加bin/RScript 并且应该具有与您当前会话相对应的Rscript。我仍然以可以从 R 调用它们的方式设计我的库...

【讨论】:

    猜你喜欢
    • 2017-06-08
    • 1970-01-01
    • 2015-03-10
    • 2013-04-25
    • 2016-06-12
    • 2018-06-04
    • 2015-10-10
    • 2012-04-04
    • 1970-01-01
    相关资源
    最近更新 更多