Is there a package to process command line options in R?

烈酒焚心 提交于 2019-11-30 15:30:08

How about commandArgs with eval for a built in solution?

test.R

## 'trailingOnly=TRUE' means only parse args after '--args'
args=(commandArgs(trailingOnly=TRUE))

## Supply default arguments
if(length(args)==0){
    print("No arguments supplied.")
    ##supply default values
    a = 1
    b = c(1,1,1)
}else{
    for(i in 1:length(args)){
         eval(parse(text=args[[i]]))
    }
}
print(a*2)
print(b*3)

and to invoke it

R CMD BATCH --no-save --no-restore '--args a=1 b=c(2,5,6)' test.R test.out

The usual caveats w.r.t using eval apply of course.

Shamelessly stolen from this blog post.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!