R.exe、Rcmd.exe、Rscript.exe 和 Rterm.exe:有啥区别?
Posted
技术标签:
【中文标题】R.exe、Rcmd.exe、Rscript.exe 和 Rterm.exe:有啥区别?【英文标题】:R.exe, Rcmd.exe, Rscript.exe and Rterm.exe: what's the difference?R.exe、Rcmd.exe、Rscript.exe 和 Rterm.exe:有什么区别? 【发布时间】:2011-03-25 16:24:14 【问题描述】:我正在为不同的 R 可执行文件而苦苦挣扎。在批处理文件中运行命令行时,R.exe(带或不带 CMD BATCH 选项)、Rcmd.exe、Rscript.exe 和 Rterm.exe 有什么区别?
和有什么区别:
R.exe --no-environ --no-save < "c:\temp\R\test.R" > "c:\temp\R\out.txt" 2>&1
和
R.exe CMD BATCH --no-environ --no-save "c:\temp\R\test.R" "c:\temp\R\out.txt"
输出没有区别。
我在 3079 页的 R 参考手册中找不到任何关于 Rcmd.exe 和 Rscript.exe 的信息。
顺便说一句:我使用的是 Windows。
【问题讨论】:
R Introduction - Invoking R from the command line 怎么样?还有two section later - scripting with R. 是的,我读过。但是没有关于 Rcmd.exe 的消息,只有几行关于 Rscript.exe 的信息。 help(Rscript) 给了我更多信息 【参考方案1】:警告:我在 Linux 上的工作比在 Windows 上更多:
Rcmd.exe
是过去的历史遗留问题,您无法在 Windows 上执行 R CMD something
,但需要特殊的可执行文件 Rcmd.exe something
。不再是这种情况,但它是为了向后兼容而提供的。
Rterm.exe
也是使用 Rcmd.exe
时的遗留物。这些天可以忽略。
R CMD BATCH
是在 littler 和 Rscript.exe
之前的日子里所需要的拐杖,并且同样从旧文档和习惯中挥之不去。..
Rscript.exe
是你的批处理脚本朋友;使用它。
对于其他所有内容,请使用 R.exe
。
除此之外,正如 Marek 暗示的那样,参考手册是六本可用手册中的错误手册。试试R简介和安装和管理手册,这两本书都有特定的Windows附录。
【讨论】:
谢谢。所以我可以忘记 Rcmd.exe 和 R CMD BATCH? 我只想在 Windows (shell) 批处理文件中运行带有命令行参数的 R 脚本。据我正确理解,R.exe 对我来说就足够了。 R.exe 和 Rterm.exe 之间有一个重要区别 - Rterm.exe 使用 /LARGEADDRESSAWARE 编译,在 Windows 64 位下运行时可以分配 4 GB RAM,与 R.exe 不同(我们'重新谈论在 64 位 Windows 下运行的 32 位 R)。如果 Rterm.exe 已过时,为什么 R 人只会为 Rterm.exe 而不是 R.exe 这样做? ... R 和 Rscript 之间的一个重要区别也在于 Rscript 不加载package:methods
... 这就是为什么它是批处理脚本的朋友的部分原因(更快的启动时间) :***.com/questions/19680462/…
这里给出的建议应该在 R 和 RStudio 文档中。 Rscript.exe
是你的批处理脚本朋友;用它。对于其他一切,有R.exe
。 R 和 RStudio 文档对 Windows 用户不是很有帮助。 R 和 RStudio 仍然是为 Unix / Linux / Mac OSX 社区编写的。他们需要提前指出 Windows R 和 RStudio 发行版中从古代 Unix 和 DOS 时代遗留下来的东西。以上是关于R.exe、Rcmd.exe、Rscript.exe 和 Rterm.exe:有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章