我有一个R脚本,我希望能够为它提供几个命令行参数(而不是代码本身中的硬代码参数值)。该脚本在Windows上运行
我找不到有关如何将命令行上提供的参数读入R脚本的信息。如果做不到,我会很惊讶,所以也许我只是没有在我的谷歌搜索中使用最好的关键字
有什么建议吗
德克的答案就是你需要的一切。这是一个最小的可重复的例子
我创建了两个文件:exmpl.bat和exmpl.R
-
exmpl.bat:set R\u Script=“C:\Program Files\R-3.0.2\bin\RScript.exe” %R_脚本%exmpl.R 2010-01-28示例100>;第2批样本>&;1.或者,使用
Rterm.exe:set R\u TERM=“C:\Program Files\R-3.0.2\bin\i386\Rterm.exe” %R_TERM%--无恢复--无保存--args 2010-01-28示例100<;示例R>;第2批样本>&;1. -
exmpl.R:选项(echo=TRUE)#如果您想查看输出文件中的命令 args<;-commandArgs(trailingOnly=TRUE) 打印(args) #trailingOnly=TRUE表示只返回参数,请检查: #打印(commandArgs(trailingOnly=FALSE)) 开始日期<;-截止日期(参数[1]) 名称<;-args[2] n<;-as.integer(参数[3]) rm(args) #一些计算: x<;-rnorm(n) png(粘贴(名称“.png”,sep=”“)) 绘图(开始日期+(1L:n),x) 发展主任() 摘要(十)
将两个文件保存在同一目录中,然后启动exmpl.bat。在结果中,您将得到:
example.png带有一些绘图exmpl.batch
您还可以添加环境变量%R\u Script%:
“C:\Program Files\R-3.0.2\bin\RScript.exe”
并在批处理脚本中使用它作为%R\u Script%<;filename.r>&书信电报;争论>
RScript和Rterm之间的差异:
Rscript的语法更简单Rscript自动选择x64上的体系结构(有关详细信息,请参阅R安装和管理,2.6子体系结构)Rscript如果要将命令写入输出文件,则需要.R文件中的选项(echo=TRUE)