2016-05-13 9 views
0

Ich habe einen Teil des Codes, dass „klingt“ wie:readline(): Kann R verstehen, wenn man von Rstudio oder von der Kommandozeile aus tippt?

bla bla() <- bla R stuff bla 
... 
p <- readline() 
cat("This is the amazing parameter ",p) 

Es funktioniert obvioulsy auf der Kommandozeile. Das Problem ist, dass Rstudio Probleme mit der Interaktivität hat.

So gibt es einen Weg, in dem R verstehen, wenn Sie von einer Befehlszeile oder von Rstudio tippen. Etwas wie:

bla bla() <- bla R stuff bla 
... 
if(RstudioInput() == true){ 
    p <- "param" 
} else { 
    p <- readline() 
} 
cat("Again, this is the awesome parameter ",p) 

Zusammenfassend muss ich wissen beide, wenn der Code von Rstudio läuft, und auch wenn der Code ausgeführt wird von der Befehlszeile.

Antwort

1

Verwenden Sie Sys.getenv("RSTUDIO") Es gibt "1" zurück, wenn Sie RStudio und "" ausführen, wenn RStudio nicht ausgeführt wird.