我有一个基本问题,但这是我第一次处理这个问题。
我写了一个管道(执行一些计算的命令列表)。管道是一个R脚本,它将在加载文件源(“MyScrip.R”)后立即运行。
在某个时刻,我必须在运行可以为null的脚本时设置一个名为k
的外部参数,以便k=""
或一个数字,例如k = 20
取决于输入数据。
用户将决定是NULL
还是20
。我不知道如何在脚本和提示符的命令行中设置此条件。任何人都可以通过一些示例或一般指示来帮助我实现这段代码吗?
答案 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