如何从 R 调用 Rscript?
How to call Rscript from R?
我正在开发一个程序包,它公开了一个 R 界面(一组可以交互使用的函数)和一个通过 Rscript 的命令行界面。第二个通过一个小型启动器工作,例如,在命令行:
Rscript mylauncher.R arg1 arg2 arg3
会调用我的包的一个函数。
我想从 R 测试几个命令行。没什么特别的,只要确保一切运行无误即可。
如果我在 R 源文件中测试这些调用:
system("Rscript mylauncher.R arg1 arg2 arg3")
如何确定调用了正确的 Rscript?如果有多个 R 安装? (在我的设置中实际上就是这种情况)。
另一种方法是在 R 源文件中写入:
source("mylauncher.R")
但我不知道如何指定命令行(我会避免覆盖函数 commandArgs
的技巧,因为我还想测试命令行的正确标记化)。有人有想法吗?
谢谢!
关于
How can I be sure that I called the right Rscript? In case there are
multiple R installations?
您将在命令行上查询 R RHOME
并从 R 中查询 Sys.getenv("R_HOME")
。
然后您追加 bin/RScript
并且应该有与您当前会话相对应的 Rscript
。我仍然以可以从 R 调用它们的方式设计我的库 ...
我正在开发一个程序包,它公开了一个 R 界面(一组可以交互使用的函数)和一个通过 Rscript 的命令行界面。第二个通过一个小型启动器工作,例如,在命令行:
Rscript mylauncher.R arg1 arg2 arg3
会调用我的包的一个函数。 我想从 R 测试几个命令行。没什么特别的,只要确保一切运行无误即可。 如果我在 R 源文件中测试这些调用:
system("Rscript mylauncher.R arg1 arg2 arg3")
如何确定调用了正确的 Rscript?如果有多个 R 安装? (在我的设置中实际上就是这种情况)。 另一种方法是在 R 源文件中写入:
source("mylauncher.R")
但我不知道如何指定命令行(我会避免覆盖函数 commandArgs
的技巧,因为我还想测试命令行的正确标记化)。有人有想法吗?
谢谢!
关于
How can I be sure that I called the right Rscript? In case there are multiple R installations?
您将在命令行上查询 R RHOME
并从 R 中查询 Sys.getenv("R_HOME")
。
然后您追加 bin/RScript
并且应该有与您当前会话相对应的 Rscript
。我仍然以可以从 R 调用它们的方式设计我的库 ...