2017-05-29 82 views
0

我的問題是:如何與R腳本中調用Linux終端代碼

我怎麼能說一個Linux終端一個[R腳本裏面?

我知道這可能是一個愚蠢的問題......我的R代碼裏面是在這裏:

download.file('https://some.dir, 
       destfile = '/home/myfile.grb2',method='auto',quiet = FALSE, 
       mode="wb", cacheOK = TRUE) 

下載後,我不得不使用從終端代碼文件轉換...但我需要這個是自動的。該轉換器的代碼是這樣的:

source activate ncl_stable 
cd /home 
ncl_convert2nc myfile.grb2 

谷歌搜索我看到Linux終端使用C++。我知道有一個軟件包可以運行C++代碼到R,Rcpp,但它的工作方式與linux終端類似嗎?

+1

你可以使用['system'](https://stat.ethz.ch/R-manual/R-devel/library/base/html/system.html)功能 –

回答

1

這將這樣的伎倆:

system(paste0("source activate ncl_stable;cd /home;ncl_convert2nc myfile.grb2")) 

你可以找到更多信息herehere

+0

這裏'paste0'是如何需要的? –

+0

與您的評論相同的必要性。 – maRtin

+0

感謝您的回答。在 '源激活ncl_stable' 它gaves 'SH:2:源:不found' 然後,它執行該代碼的其餘部分,但出現了一個錯誤: '致命:NclGRIB2:無效產品定義Template.' '分割錯誤(核心轉儲)' 當我在Linux Bash上執行這段代碼時,它給出了一個如此的ERROR 4:/vsimem/work.jpc未被識別爲支持的文件格式的列表或錯誤識別格式。' 'dec_jpeg2000 :無法在GRIB文件內打開JPEG2000圖像。' 但是腳本運行並轉換文件,在R中沒有。 – Forever