I am using the optparse package but cannot find out if I can specify mandatory arguments.
install.packages('optparse')
library('optparse')
library('data.table')
# example from vignette
option_list <- list(
# those 2 are linked together by dest='verbose'
# store_true makes sure it does not take any arg by storing TRUE (or default if specified)
make_option(c("-v", "--verbose"), action="store_true", default=TRUE, help="Print extra output [default %default]"),
make_option(c("-q", "--quietly"), action="store_false", dest="verbose", help="Print little output"),
#
make_option(c("-c", "--count"), type="integer", default=5L, help="Number of rgn [default %default]", metavar="number"),
make_option("--generator", default="rnorm", help = "Function to generate random deviates [default \"%default\"]")
)
parser <- OptionParser(option_list=option_list)
# vanilla case
parsedArgs <- parse_args(parser, args = c("-c","100","--generator","fakeGen"))
setcolorder(setDT(stack(parsedArgs)),c('ind','values'))[]
# ind values
#1: verbose TRUE
#2: count 100
#3: generator fakeGen
#4: help FALSE
Say I want the user to input a [-d --date SOMEDATE] it does not really make sense to provide a default date... how can I tell optparse that some args are mandatory ?