在复习 《An Introduction to R》的时候, 偶然发现了附录B4 "Scripting with R"。 内容使我惊喜万分
OS: Ubuntu 9.10
1.在后台运行R
1.1创建file.R文件
1.2在文件首行键入:
#! /path/to/Rscript
1.3在下面的行中,键入R代码
1.4保存(记得有png(),jpeg(),...等函数的代码最后一定要有dev.off())
1.5在file.R的工作目录下,在终端中输入以下命令:
R CMD BATCH --args file.R
1.6 file.R被运行了!!!
优点: R命令行下打错命令后回车,之前的所有相关命令几乎全军覆没。如果不想发生这种情况,请写一个file.R文件。
缺点:R CMD BATCH 模式是让R在系统后台运行file.R,运行时微微地卡了2s。
2.创建R脚本
2.1创建file.R文件
2.2在文件首行键入:
#! /usr/bin/env Rscript
2.3在下面的行中,键入R代码
2.4保存(记得有png(),jpeg(),...等函数的代码最后一定要有dev.off())
2.5在file.R的工作目录下,在终端中输入以下命令:
R CMD BATCH --args file.R
或者Rscript file.R
2.6file.R被运行了!!!
优点: 比较前者不太占用系统资源, 而且可以在终端在直接运行,这样就可以和BASH语言在一起应用了。 具体如下:
chmod 755 file.R
./file.R #这种方式下,把file.R改为file.sh或file ...,在Ubuntu下都能运行
3.在BASH脚本中插入R代码
3.1在file.sh文件中键入:
#! /bin/sh
R --slave [other option]<<EOF
# R代码
EOF
3.2在终端下运行
chmod 755 file.sh
./file.sh
3.3 file.sh被运行了,包括里边的R代码
优点: R代码能插在BASH脚本中运行,它就可以在其它更加强大的脚本中运行。事实上R-python已经成了python的一个模块了。
4.回归R环境
1,2中的file.R文件,无论有没有{#! ...}都可以在R环境下以source()命令执行。
> source("/home/***/R/file.R")
这是在使用R的时候,最常用的方法。
参考:W. N. Venables, D. M. Smith and the R Development Core Team, 《An Introduction to R》附录B4 "Scripting with R", 2010