轉(zhuǎn)載地址:http://www.cnblogs.com/lexus/archive/2011/12/01/2271287.html
在復(fù)習(xí) 《An Introduction to R》的時(shí)候姓迅, 偶然發(fā)現(xiàn)了附錄B4 "Scripting with R"机蔗。 內(nèi)容使我驚喜萬(wàn)分
OS: Ubuntu 9.10
1.在后臺(tái)運(yùn)行R
1.1創(chuàng)建file.R文件
1.2在文件首行鍵入:
#! /path/to/Rscript
1.3在下面的行中剩盒,鍵入R代碼
1.4保存(記得有png(),jpeg(),...等函數(shù)的代碼最后一定要有dev.off())
1.5在file.R的工作目錄下,在終端中輸入以下命令:
R CMD BATCH --args file.R
1.6 file.R被運(yùn)行了Lǘ帷>毒痢!
優(yōu)點(diǎn): R命令行下打錯(cuò)命令后回車谒养,之前的所有相關(guān)命令幾乎全軍覆沒。如果不想發(fā)生這種情況明郭,請(qǐng)寫一個(gè)file.R文件买窟。
缺點(diǎn):R CMD BATCH 模式是讓R在系統(tǒng)后臺(tái)運(yùn)行file.R,運(yùn)行時(shí)微微地卡了2s薯定。
2.創(chuàng)建R腳本
2.1創(chuàng)建file.R文件
2.2在文件首行鍵入:
#! /usr/bin/env Rscript
2.3在下面的行中始绍,鍵入R代碼
2.4保存(記得有png(),jpeg(),...等函數(shù)的代碼最后一定要有dev.off())
2.5在file.R的工作目錄下,在終端中輸入以下命令:
R CMD BATCH --args file.R
或者Rscript file.R
2.6file.R被運(yùn)行了;爸丁?魍啤!
優(yōu)點(diǎn): 比較前者不太占用系統(tǒng)資源年堆, 而且可以在終端在直接運(yùn)行吞杭,這樣就可以和BASH語(yǔ)言在一起應(yīng)用了。 具體如下:
chmod 755 file.R
./file.R #這種方式下变丧,把file.R改為file.sh或file ...芽狗,在Ubuntu下都能運(yùn)行
3.在BASH腳本中插入R代碼
3.1在file.sh文件中鍵入:
#! /bin/sh
R --slave [other option]<<EOF
R代碼
EOF
3.2在終端下運(yùn)行
chmod 755 file.sh
./file.sh
3.3 file.sh被運(yùn)行了,包括里邊的R代碼
優(yōu)點(diǎn): R代碼能插在BASH腳本中運(yùn)行痒蓬,它就可以在其它更加強(qiáng)大的腳本中運(yùn)行童擎。事實(shí)上R-python已經(jīng)成了python的一個(gè)模塊了。
4.回歸R環(huán)境
1攻晒,2中的file.R文件顾复,無(wú)論有沒有{#! ...}都可以在R環(huán)境下以source()命令執(zhí)行。
source("/home/***/R/file.R")
這是在使用R的時(shí)候鲁捏,最常用的方法芯砸。
參考:W. N. Venables, D. M. Smith and the R Development Core Team, 《An Introduction to R》附錄B4 "Scripting with R", 2010