Is there any convenient way to automatically parse command line arguments passed to R scripts?
Something like perl's Getopt::Long
?
Is there any convenient way to automatically parse command line arguments passed to R scripts?
Something like perl's Getopt::Long
?
There are three packages on CRAN:
argparse
and json
(or simplejson
) modules.Update:
The simplest way is to use commandArgs(). Example - save the code below as "options.R":
options <- commandArgs(trailingOnly = TRUE)
options
Run using "Rscript options.R x y z". Result:
[1] "x" "y" "z"
i.e. a list of 3 elements, one per argument.
Just to complement the Rscript answer:
edd@max:~$ r -e 'print(argv)' flim flam flom
[1] "flim" "flam" "flom"
edd@max:~$
We just use argv
in littler. I had good luck with getopt, the older of the two available parsing packages.
May I introduce ArgumentParser
in Xmisc package? It is a command line parser inspired by Python's argparse
but it is Python-free.
http://cran.r-project.org/web/packages/Xmisc/vignettes/Xmisc-ArgumentParser.pdf