Website-Suche

So greifen Sie mit Rscript GNU R auf Argumente auf der Befehlszeile zu


Beginnen wir mit einem einfachen Ausführungsbeispiel für das GNU R Rscript-Frontend-Skript. Verwenden Sie den Befehl, um den Rscript-Interpreter zu finden:


which Rscript
/usr/bin/Rscript

Alternativ können Sie Ihren Interpreter als /usr/bin/env Rscript definieren.


#!/usr/bin/Rscript

print("Hello R")

Als nächstes machen wir das Skript ausführbar:


chmod +x test.R

Und schließlich ausführen:


./test.R 
[1] "Hello R"

Das nächste Beispiel zeigt, wie Sie auf ein Befehlszeilenargument zugreifen, das Rscript in der Befehlszeile übergeben wird. Ändern wir unser Skript so, dass alle Argumente, die während der Ausführung an unser R-Skript übergeben werden, ausgegeben werden:


#!/usr/bin/Rscript
ENABLE command line arguments
args <- commandArgs(TRUE)

commandArgs()
print("Hello R")

Dieses Mal werden wir während der Skriptausführung auch mehrere Argumente auf der Befehlszeile angeben:


 $ ./test.R myarg1 myarg2
[1] "/usr/lib64/R/bin/exec/R" "--slave"                
[3] "--no-restore"            "--file=./test.R"        
[5] "--args"                  "myarg1"                 
[7] "myarg2"                 
[1] "Hello R"

Das letzte Beispiel zeigt, wie Sie auf jedes einzelne Befehlszeilenargument innerhalb des Rscript-Skripts zugreifen können. Lassen Sie uns unser Skript so ändern, dass es auf das erste und zweite Befehlszeilenargument zugreift und die Addition durchführt:


#!/usr/bin/Rscript
ENABLE command line arguments
args <- commandArgs(TRUE)

print first two command line arguments
print(args[1])
print(args[2])

Simple addition
print(as.double(args[1]) + as.double(args[2]))

Ausführung:


#!/usr/bin/Rscript
ENABLE command line arguments
args <- commandArgs(TRUE)

print first two command line arguments
print(args[1])
print(args[2])

Simple addition
print(as.double(args[1]) + as.double(args[2]))

Verwandte Artikel: