2017-04-21 193 views
0

我有一個名爲ggplot_cnv.R的腳本,其中包含了一些函數。在bash循環中運行R函數

其中一個功能需要一個文件作爲輸入和輸出GGPLOT2情節:

plot.notch <- function(cnv_file, from=NA, to=NA) { 
... 
} 

我希望能夠對多個文件運行此。我知道你可以使用Rscript作爲arg傳遞文件,然後將它發送到ggplot_cnv.R內的函數,但是有沒有辦法在我的主腳本(ggplot_cnv.R)中不使用args的情況下執行此操作?

例如,我怎麼能在bash調用plot.notch功能從腳本ggplot_cnv.R for循環如(這不起作用):

for f in $(ls data/*.cnv); do 
    Rscript -e "ggplot_cnv.R::plot.notch(cnv_file = $f)"; 
done 
+0

可能會傳遞函數名'plot.notch'和'$ f'作爲arg,然後使用'match.fun'? – zx8754

+0

也許沒有'commandArgs','$ f'不能被識別? –

回答

0

我想,也許你可以使用R CMD BATCH做這樣工作。

Usage: 

    R CMD BATCH [options] infile [outfile]