我真的遇到了我想如何使用 RScript 的障碍。
理想情况下,我想使用 Rscript 来运行命令行脚本,并传递命令行参数。
Rscript -e 'options(warn = 0, echo = TRUE)' -e 'source(myfun.R)') --myarg X
有效,因为参数 myarg 被正确地拾取了我的 myfun.R 但警告说未知参数 myarg 找到了。查看文档似乎这不是该脚本如何工作的受支持用例。
我可以改为传递文件而不收到警告,然后在 .Rprofile 中设置选项,但这不是很有用;对于我的用例,我希望无需先创建 RProfile 文件即可工作。
似乎这两个目标:将命令行选项和 options() 传递给 R 似乎是不兼容的,除非我缺少一些解决方法
为什么你不能重写你的脚本,以便你想要设置的选项也作为命令参数传递(将通用首选项设置为默认值)?
Rscript myfun.R --suppress_warnings --echo_input --myarg=X
有很多 R 包,例如 {optparse},可以轻松解析命令行选项并为常用选项设置默认值,因此您无需在命令行中表达它们。