Ist es möglich, geben Sie Befehl Linie Parameter R-Skript in RStudio?
Will ich mit RStudio so Bearbeiten Sie ein R-Skript mit Kommandozeilen-Parameter, z.B.,
my_rscript --dataset mydataset
und dann Lesen die optiion-Wert in einen R-variable, sagen wir, dataset
, z.B. mit optparse
Bibliothek.
Allerdings konnte ich nicht finden, wo Gebiete line in RStudio, so dass ich verwenden könnte, "Quelle speichern" - Funktion. Stattdessen habe ich zu fest, alle Programm-Parameter in dem Programm selbst:
dataset <- "mydataset"
welche erfordert das ändern der Skript-text jedes mal, wenn ich brauche zu geben unterschiedliche Daten.
Weiß jemand, wie man eine Kommandozeile Informationen?
- Ihre Frage schien nicht zu sein, speziell im Zusammenhang mit RStudio, sondern mehr allgemein zu R, so dass ich retagged es. Wenn dies ist nicht, was Sie bedeuten, dann sollten Sie Bearbeiten Ihre Frage.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich weiß, diese Frage ist alt und der link ist alt, aber es beantwortet die Frage. Nein, es ist nicht möglich (oder nicht so Jan 29, 2012) Zugriff auf Kommandozeilen-Argumente aus RStudio.
Link
https://support.rstudio.com/hc/communities/public/questions/200659066-Accessing-command-line-options-in-RStudio?locale=en-us
system("rscript myscript.r -a -b -c")
die man ausführen kann, von RStudio-Konsole - siehe Antwort von @biocyberman, ich denke, dass sollte die akzeptierte AntwortFür jetzt mache ich es so:
Öffnen Sie ein neues Fenster Bearbeiten neuer Rscript. Wenn ich will kann ich es speichern und benennen Sie Sie so etwas wie:
test_myscript.R
Dies ist der Inhalt
test_myscript.R
:Rufen Sie Ihre Programme mit
Rscript programname.r arg1 arg2 arg3
. Die Argumente zucommandArgs
, so wäre das folgende wahr:Dieser arbeitete für mich:
Meine Rscript ist wie folgt:
'
Emulieren Sie den Befehl line-Eingang würde ich mit Rscript, ich trat dieser in RStudio:
commandArgs <- function() c("AMZN", 10, 200)
gab das gewünschte Ergebnis:
commandArgs()
. IMHO ist das eine schlechte Lösung.Wenn Sie daran interessiert sind, das beispielsweise mit argparser und weiter zu entwickeln/analysieren interaktiv mit Rstudio, können Sie die folgenden work-around:
my_rscript
und erstellen Sie ein Objektargs
enthält alle analysiert-Eingang.args
Objekt-Datei.my_rscript
von der Befehlszeile aus, und geben Sie die Argumente von Interesse.args
- Objekt-aus Datei in Rstudio und weiterhin interaktivBeispiel:
Dies ist wirklich alt, aber ich stolperte über es, wenn Sie versuchen, das gleiche zu tun und ich habe am Schluss lediglich versuchen, das folgende, und ist nett und schnell, wenn die Leute wollen, es zu versuchen (wahrscheinlich nur nützlich für Befehle, die ein paar einfache args obwohl):
Mein Rscript, die derzeit gestartet:
Wenn ich wollte emulieren Sie den Befehl Linie, dass die Rscript sonst bekommen würde, können Sie die
args
Vektor-up 'manuell':dann
args[1]
nimmt den gleichen Wert an, den er immer haben würde. und ich einfach nur laufen, alles andere im script durch markieren und ausführen in RStudio.args
außerhalb des Skript in einer Weise, dassargs <- commandArgs(TRUE)
im script nicht überschrieben werden?