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?
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
:
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%Wenn Sie daran interessiert sind, z.B. argparser und weiter interaktiv mit Rstudio entwickeln / analysieren, können Sie die folgende Problemumgehung verwenden:
my_rscript
und erstellen Sie ein Objekt args
, das alle analysierten Eingaben enthält. args
object in Datei speichert. my_rscript
von der Befehlszeile aus und geben Sie Argumente von Interesse an. args
-Objekt aus der Datei in Rstudio und fahren Sie interaktiv fort Beispiel:
%Vor%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:
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.