2017-02-20 110 views
0

我有一个基本问题,但这是我第一次处理这个问题。从命令行设置参数

我写了一个管道(执行一些计算的命令列表)。该管道是一个R脚本,将在加载文件源(“MyScrip.R”)后立即运行。

在某个点上,我必须设置一个外部参数,称为k,同时运行可以为空的脚本,以便k=""或一个数字,例如k = 20取决于输入数据。

用户将决定它是否是NULL20。我不知道如何在提示中的脚本和命令行中设置这个条件。任何人都可以帮助我请一些例子或一般的迹象来实现这段代码?

+0

检查** [此](HTTP:// stackoverflow.com/questions/34813231/create-a-popup-dialog-box-interactive)**出来。这是一个弹出窗口 –

回答

1

你应该看看optparse包。下面是一个简单的例子:

myscript.R

library(optparse) 

option_list = list(
    make_option(c("-k", "--k_param"), type = "integer", default = NULL, 
       help = "the k parameter", metavar = "integer") 
) 

opt_parser = OptionParser(option_list = option_list) 
opt = parse_args(opt_parser) 

print(opt$k_param) 

实施例运行:

Rscript myscript.R -k 20 
[1] 20 

自动文档:

Rscript myscript.R --help 
Usage: myscript.R [options] 


Options: 
     -k INTEGER, --k_param=INTEGER 
       the k parameter 

     -h, --help 
       Show this help message and exit