• R语言
  • Rcmd BATCH 能不能带参数?

搜了一圈,有人提示用commandArg(),没试成功。

还有人用

> R --vanilla --slave --args myArg1 myArg2 < myScript.R > outFile.txt

也没有试成功。

我在windows下,不晓得有啥方便的向Rscript传递参数的方法没?

谢谢

结合getopt包一起用。

library(getopt)

谢谢老大。

不过我还是很愚钝,看了getopt没有看太明白。

后来发现

R --vanilla --slave --args myArg1 myArg2 < myScript.R > outFile.txt

确实可以传递参数,只是我开始自作聪明的把<>从命令行中去掉了导致不正确。

上述命令运行后,在R脚本中用

str <- commandArgs()

str的值为:

R --vanilla --slave --args myArg1 myArg2

在R脚本中可以用

arg1 <- str[5]

arg2 <- str[6]

便可以获取arg1和arg2的值了

回复 第3楼 的 hydron:"<"和">"是输入和输出的意思,你去掉肯定会有问题

2 年 后

getopt 很简单呀,很好用。就是对Rscript 的扩展~~和python中的opt一样的用法。