我很难将文件名传递给 R 脚本。该文件是一个 csv 文件,其中包含多次运行脚本的批处理参数。我尝试将其包含在此处,以便用户无需编辑 R 脚本即可指定该文件的位置。
我的 Windows 命令行语法是:
R CMD BATCH --slave "--args fn=batch.csv" myscript.r output.txt
我在 R 脚本中最接近检索此内容的方法是执行以下操作:
eval(parse(file=commandArgs()[8])))
batch_args = read.table(fn, sep=",")
我已经尝试过commandArgs(trailingOnly=TRUE)
and parse(text=commandArgs()[8])
等等,但没有运气。我见过的大多数文档并不专门适用于传递文件名。有人能想出解决办法吗?
正如我在评论中所说,我会使用Rscript
代替R CMD BATCH
:
Rscript myscript.R batch.csv
其中 myscript.R 包含:
args <- commandArgs(TRUE)
batch_args <- read.table(args[1], sep=",")
# loop over multiple runs
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)