編寫執行R指令碼

獵手家園發表於2016-08-24

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.6 file.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("/homeR/file.R")

這是在使用R的時候,最常用的方法。

 

相關文章