Kann man in RStudio Kommandozeilenparameter für das R-Skript angeben?

8

Ich möchte mit RStudio ein R-Skript mit Befehlszeilenparametern bearbeiten, z. B.

%Vor%

und dann den Optiion-Wert in eine R-Variable zu lesen, zB dataset , z. B. mit optparse library.

Ich konnte jedoch nicht finden, wo eine Befehlszeile in RStudio bereitgestellt werden kann, so dass ich die Funktion "Quelle beim Speichern" verwenden könnte. Stattdessen muss ich alle Programmparameter im Programm selbst fest codieren:

%Vor%

was erfordert, dass ich den Skripttext jedes Mal ändere, wenn ich andere Daten angeben muss.

Weiß jemand, wie man eine Befehlszeileninformation bereitstellt?

    
Dmitry K. 20.02.2013, 12:52
quelle

6 Antworten

5

Ich weiß, dass diese Frage alt ist und der Link unten alt ist, aber er beantwortet die Frage. Nein, es ist nicht möglich (oder nicht seit dem 29. Januar 2012), über RStudio auf Befehlszeilenargumente zuzugreifen.

Link Ссылка

    
rrs 02.12.2013, 21:06
quelle
14

Für jetzt mache ich es so: Öffnen Sie ein neues Fenster zum Bearbeiten von neuem Rscript. Wenn ich es behalten möchte, kann ich es speichern und benennen: test_myscript.R Dies ist der Inhalt von test_myscript.R :

%Vor%     
biocyberman 05.08.2014 21:19
quelle
3

Sie können Ihre Programme mit Rscript programname.r arg1 arg2 arg3 aufrufen. Die Argumente werden an commandArgs übergeben, daher gilt Folgendes:

%Vor%     
TARehman 26.02.2013 15:13
quelle
1

Das hat bei mir funktioniert: Mein Rscript ist wie folgt:

%Vor%

'

Um die Befehlszeileneingabe zu emulieren, die ich mit Rscript verwenden würde, habe ich dies in RStudio eingegeben:

commandArgs <- function() c("AMZN", 10, 200)

was zum gewünschten Ergebnis führte:

%Vor%     
upatnite2 12.10.2016 16:53
quelle
1

Wenn Sie daran interessiert sind, z.B. argparser und weiter interaktiv mit Rstudio entwickeln / analysieren, können Sie die folgende Problemumgehung verwenden:

  1. Schreiben Sie Ihren Befehlszeilenparser in my_rscript und erstellen Sie ein Objekt args , das alle analysierten Eingaben enthält.
  2. Fügen Sie eine Zeile hinzu, die args object in Datei speichert.
  3. Führen Sie my_rscript von der Befehlszeile aus und geben Sie Argumente von Interesse an.
  4. Laden Sie das args -Objekt aus der Datei in Rstudio und fahren Sie interaktiv fort

Beispiel:

%Vor%     
knish 20.02.2018 08:41
quelle
0

Das ist wirklich alt, aber ich bin darüber gestolpert, als ich versucht habe, das Gleiche zu tun, und habe am Ende folgendes versucht, und ist nett und schnell, wenn Leute es ausprobieren wollen (wahrscheinlich nur nützlich für Befehle, die eine haben ein paar einfache Argumente aber):

Gegeben mein Rscript, das gerade beginnt:

%Vor%

Wenn ich die Befehlszeile emulieren wollte, die der Rscript sonst erhalten würde, können Sie den args Vektor 'manuell' machen:

%Vor%

then args[1] nimmt den gleichen Wert an, den es immer hätte. und ich führe einfach alles andere im Skript aus, indem ich es in RStudio hervorhebe und ausführe.

    
Joe Healey 31.08.2016 11:35
quelle

Tags und Links