Ich habe eine Datei namens a.r
, sie hat ein chmod
von 755,
sayHello <- function(){
print('hallo')
}
sayHello()
Wie kann ich dies über die Befehlszeile ausführen?
Ich habe eine Datei namens a.r
, sie hat ein chmod
von 755,
sayHello <- function(){
print('hallo')
}
sayHello()
Wie kann ich dies über die Befehlszeile ausführen?
Wenn Sie möchten, dass die Ausgabe im Terminal angezeigt wird, ist es am besten, Rscript zu verwenden
Rscript a.R
Beachten Sie, dass bei Verwendung von R CMD BATCH a.R
anstelle der Umleitung der Ausgabe auf die Standardausgabe und der Anzeige im Terminal eine neue Datei namens a.Rout erstellt wird.
R CMD BATCH a.R
# Überprüfen Sie die Ausgabe
cat a.Rout
Eine andere Sache, die bei der Verwendung von Rscript zu beachten ist, ist, dass das Paket methods
standardmäßig nicht geladen wird, was zu Verwirrung führen kann. Wenn Sie also auf etwas angewiesen sind, das von methods bereitgestellt wird, sollten Sie es explizit in Ihrem Skript laden.
Wenn Sie wirklich den Weg ./a.R
zum Aufrufen des Skripts verwenden möchten, können Sie ein entsprechendes #!
oben im Skript hinzufügen
#!/usr/bin/env Rscript
sayHello <- function(){
print('hello')
}
sayHello()
I will also note that if you're running on a *unix system there is the useful littler package which provides easy command line piping to R. It may be necessary to use littler to run shiny apps via a script? Further details can be found in this question.
Dies beantwortet die Frage nicht direkt. Aber jemand landet vielleicht hier, weil er einen Oneliner von R aus dem Terminal ausführen möchte. Wenn Sie beispielsweise nur einige fehlende Pakete installieren und beenden möchten, kann dieser Oneliner sehr praktisch sein. Ich benutze ihn oft, wenn ich plötzlich feststelle, dass mir einige Pakete fehlen, und ich sie dort installieren möchte, wo ich möchte.
Um an den Standardort zu installieren:
R -e 'install.packages(c("package1", "package2"))'
Um an einem Ort zu installieren, für den root
Berechtigungen erforderlich sind:
R -e 'install.packages(c("package1", "package2"), lib="/usr/local/lib/R/site-library")'
Noch eine Möglichkeit, ein R-Skript von der Befehlszeile aus auszuführen, wäre:
R < scriptName.R --no-save
oder mit --save
.
Siehe auch Wie kann man R-Skripts am besten über die Befehlszeile (Terminal) verwenden?.
Sie benötigen den Befehl ?Rscript
, um ein R-Skript aus dem Terminal auszuführen.
Schauen Sie sich http://stat.ethz.ch/R-manual/R-devel/library/utils/html/Rscript.html an
Beispiel
## Beispiel #! Skript für Unix-ähnliche Betriebssysteme
#! /path/to/Rscript --vanilla --default-packages=utils
args <- commandArgs(TRUE)
res <- try(install.packages(args))
if(inherits(res, "try-error")) q(status=1) else q()
Wie man Rmd in der Befehlszeile mit knitr und rmarkdown durch mehrere Befehle ausführt und dann eine HTML-Datei auf RPubs hochlädt
Hier ist ein Beispiel: Laden Sie zwei Bibliotheken und führen Sie einen R-Befehl aus
R -e 'library("rmarkdown");library("knitr");rmarkdown::render("NormalDevconJuly.Rmd")'
R -e 'library("markdown");rpubsUpload("normalDev","NormalDevconJuly.html")'
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.