从命令行设置参数

时间:2017-02-20 15:27:03

标签: r

我有一个基本问题,但这是我第一次处理这个问题。

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

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

用户将决定是NULL还是20。我不知道如何在脚本和提示符的命令行中设置此条件。任何人都可以通过一些示例或一般指示来帮助我实现这段代码吗?

1 个答案:

答案 0 :(得分: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