Esiste un modo pratico per analizzare automaticamente gli argomenti della riga di comando passati agli script R?Analizzare gli argomenti della riga di comando negli script R
Qualcosa di simile a Getopt::Long
di Perl?
Esiste un modo pratico per analizzare automaticamente gli argomenti della riga di comando passati agli script R?Analizzare gli argomenti della riga di comando negli script R
Qualcosa di simile a Getopt::Long
di Perl?
Ci sono tre pacchetti su CRAN:
argparse
e json
(o simplejson
).Aggiornamento:
Per qualche ragione, 'argparse' in realtà * richiede * Python. Mi ha fatto provare prima "optparse" ... – krlmlr
consigli non richiesti: per quanto sia allettante utilizzare l'eccezionale pacchetto python argparse da R, la dipendenza da linguaggio incrociato rende il tuo script R molto più complesso e fragile. Non farlo Utilizzare una delle opzioni pure-R sopra descritte. –
Il modo più semplice è utilizzare commandArgs(). Esempio - salva il codice qui sotto come "options.R":
options <- commandArgs(trailingOnly = TRUE)
options
Run utilizzando "rscript options.R x y z". Risultato:
[1] "x" "y" "z"
cioè un elenco di 3 elementi, uno per argomento.
Non è simile all'opzione di opzione 'getopt'. –
Si prega di notare che ho risposto a questo quasi 7 anni fa; c'è sicuramente un modo migliore ora :) – neilfws
Proprio per integrare la risposta rscript:
[email protected]:~$ r -e 'print(argv)' flim flam flom
[1] "flim" "flam" "flom"
[email protected]:~$
Abbiamo appena usiamo argv
in littler. Ho avuto fortuna con lo getopt, il più vecchio dei due pacchetti di analisi disponibili.
Posso introdurre ArgumentParser
nel pacchetto Xmisc? È un parser da riga di comando ispirato a Python argparse
ma è privo di Python.
http://cran.r-project.org/web/packages/Xmisc/vignettes/Xmisc-ArgumentParser.pdf
correlati a http://stackoverflow.com/questions/2151212/how-can-i-read-command-line-parameters-from-an-r-script. – Blaisorblade