在终端中运行Rscript时是否可以添加可选参数?

在终端中运行Rscript时是否可以添加可选参数?,r,shell,sh,R,Shell,Sh,现在,我使用的是: Rscript myscript.R *arg1 arg2 arg3* ... >output.txt 但是,我想展示不同参数的含义,并创建可选参数,如: Rscript myscript.R --project_ID *arg1* --input_package *arg2* --input "arg2" --output *output.txt* 此外,一些参数不是必需的,例如,如果--input_package为NULL,则--input中

现在,我使用的是:

Rscript myscript.R *arg1 arg2 arg3* ... >output.txt
但是,我想展示不同参数的含义,并创建可选参数,如:

Rscript myscript.R --project_ID *arg1* --input_package *arg2* --input "arg2" --output *output.txt*
此外,一些参数不是必需的,例如,如果--input_package为NULL,则--input中的“arge2”参数就不需要,但如果输入_package已归档,则另一个参数将不会被输入

这可能吗?如果没有,我可以不考虑命令中的指示,只按顺序输入参数吗?但其中一些是可选的???

您可以使用,并设置默认值

#!/usr/bin/env Rscript
library("optparse")
 
option_list = list(
  make_option(c("-f", "--file"), type="character", default=NULL, 
              help="dataset file name", metavar="character"),
    make_option(c("-o", "--out"), type="character", default="out.txt", 
              help="output file name [default= %default]", metavar="character")
); 
 
opt_parser = OptionParser(option_list=option_list);
opt = parse_args(opt_parser);
然后,您可以检查参数
--file
(默认为
NULL
)是否是这样提供的

if (is.null(opt$file)){
  #dosomestuff
}