2017-02-20 8 views
0

Ich habe eine grundlegende Frage, aber es ist das erste Mal, dass ich mit diesem Problem umgehen.Set Parameter von der Kommandozeile

Ich schrieb eine Pipeline (eine Liste von Befehlen, die einige Berechnungen ausführen). Die Pipeline ist ein R-Skript, das unmittelbar nach dem Laden der Dateiquelle ("MyScrip.R") ausgeführt wird.

An einem bestimmten Punkt Ich habe einen externen Parameter zu setzen, die k aufgerufen wird, während das Skript ausgeführt wird, die Null sein kann, so dass k="" oder eine Zahl, so dass zum Beispiel k = 20 aus den Eingangsdaten abhängig.

Der Benutzer wird entscheiden, ob es NULL oder 20 sein wird. Ich habe keine Ahnung, wie Sie diese Bedingung im Skript und in der Befehlszeile der Eingabeaufforderung einstellen. Kann mir bitte jemand mit einigen Beispielen oder allgemeinen Hinweisen helfen, diesen Code zu implementieren?

+0

Prüfung ** [diese] (http: // stackoverflow.com/questions/34813231/create-a-popup-dialog-box-interactive)** out. Es ist ein Popup –

Antwort

1

Sie sollten sich das Paket optparse ansehen. Hier ist ein einfaches Beispiel:

myscript.R

library(optparse) 

option_list = list(
    make_option(c("-k", "--k_param"), type = "integer", default = NULL, 
       help = "the k parameter", metavar = "integer") 
) 

opt_parser = OptionParser(option_list = option_list) 
opt = parse_args(opt_parser) 

print(opt$k_param) 

Beispiel laufen:

Rscript myscript.R -k 20 
[1] 20 

Auto Docs:

Rscript myscript.R --help 
Usage: myscript.R [options] 


Options: 
     -k INTEGER, --k_param=INTEGER 
       the k parameter 

     -h, --help 
       Show this help message and exit 
Verwandte Themen