2016-12-05 4 views
5

ist es eine Möglichkeit, einen Rscript Anruf in RStudio zu debuggen debuggen?Wie Rscript Anruf

Say I RScript von der Kommandozeile wie Rscript prog.R x y z bin Aufruf und ich möchte den Code zu einer bestimmten Zeile zu untersuchen. Ich kann es nicht interaktiv innerhalb von Rstudio ausführen, weil ich nicht weiß, wie ich die Argumente weitergeben soll.

+0

Rstudio bietet Debugging-Tools. Kannst du dein ganzes Skript als Funktion in R schreiben und xy z als Argumente an diese Funktion übergeben? –

+0

@ Dinesh.hmn Ich denke, dass das OP daran interessiert ist, [tag: rstudio] Debugging-Tools aufzurufen, wenn das R-Skript über die source-Funktion aufgerufen wird. Bei Ausführung über ** Cmd + Return ** tritt das RStudio in den Debugging-Modus ein. Dies geschieht nicht, wenn das Skript über die source-Funktion aufgerufen wird. – Konrad

+0

Erhält Ihr Skript die Argumente, indem es 'commandArgs()' aufruft? Sie wollen also eine Möglichkeit, Befehlsargumente beim Aufruf eines Skripts mit 'source' in RStudio" vorzutäuschen "? – Spacedman

Antwort

0

Dies ist, was ich tun-es kein formales Debuggen ist, aber es funktioniert für mich.

oben beispiel prog.R Skript:

# uncomment this section to run using Rscript from command line: 
userprefs <- commandArgs(trailingOnly = TRUE) 
x <- userprefs[1] 
y <- userprefs[2] 
z <- userprefs[3] 

# uncomment this section to run within RStudio 
cat("you forgot to comment out the troubleshooting part!") 
x <- 1 
y <- 2 
z <- 3 

Wie Sie Ihr Skript beheben, ein Kommentar oder der andere Abschnitt je nachdem, ob Sie in RStudio oder mit RScript von der Kommandozeile sind Sourcing.