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:有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

R-windows-自动执行脚本

在批处理文件目录上升级

从 Access 运行外部脚本

学习进度13