¿Hay alguna manera conveniente de analizar automáticamente los argumentos de la línea de comandos pasados a los scripts R?Analizando los argumentos de la línea de comando en los scripts R
Algo como perl's Getopt::Long
?
¿Hay alguna manera conveniente de analizar automáticamente los argumentos de la línea de comandos pasados a los scripts R?Analizando los argumentos de la línea de comando en los scripts R
Algo como perl's Getopt::Long
?
Hay tres paquetes en CRAN:
argparse
y json
(o simplejson
).actualización:
Por alguna razón, 'argparse' en realidad * requiere * Python. Me hizo probar 'optparse' first ... – krlmlr
consejos no solicitados: por muy tentador que sea usar el sobresaliente paquete python argparse dentro de R, la dependencia entre idiomas simplemente hace que su script R sea mucho más complejo y frágil. No lo hagas Use una de las opciones de R puro descritas arriba. –
La manera más simple es usar commandArgs(). Ejemplo - guardar el código de abajo como "options.R":
options <- commandArgs(trailingOnly = TRUE)
options
Run usando "RSCRIPT options.R x y z". Resultado:
[1] "x" "y" "z"
es decir una lista de 3 elementos, uno por cada argumento.
Esto no es similar al análisis de la opción 'getopt'. –
Tenga en cuenta que respondí esto hace casi 7 años; seguro que hay una mejor manera ahora :) – neilfws
Sólo para complementar la respuesta RSCRIPT:
[email protected]:~$ r -e 'print(argv)' flim flam flom
[1] "flim" "flam" "flom"
[email protected]:~$
Nos limitamos a usar argv
en littler. Tuve buena suerte con getopt, el más antiguo de los dos paquetes de análisis disponibles.
¿Puedo introducir ArgumentParser
en el paquete Xmisc? Es un analizador de línea de comandos inspirado en Python's argparse
pero no tiene Python.
http://cran.r-project.org/web/packages/Xmisc/vignettes/Xmisc-ArgumentParser.pdf
En relación con http://stackoverflow.com/questions/2151212/how-can-i-read-command-line-parameters-from-an-r-script. – Blaisorblade