Mam plik o nazwie a.r
, to ma chmod
od 755,
sayHello <- function(){
print('hello')
}
sayHello()
Jak mogę to uruchomić za pomocą wiersza polecenia?
r
command-line
Sait
źródło
źródło
#!/usr/bin/env Rscript
Odpowiedzi:
Jeśli chcesz, aby dane wyjściowe były drukowane na terminalu, najlepiej użyć Rscript
Zauważ, że podczas korzystania z
R CMD BATCH a.R
tego zamiast przekierowywania wyjścia do standardowego wyjścia i wyświetlania na terminalu zostanie utworzony nowy plik o nazwie a.Rout.Inną rzeczą, na którą należy zwrócić uwagę przy użyciu Rscript, jest to, że
methods
domyślnie nie ładuje on pakietu, co może powodować zamieszanie. Więc jeśli polegasz na czymś, co zapewniają metody, będziesz chciał załadować to wprost do skryptu.Jeśli naprawdę chcesz skorzystać ze
./a.R
sposobu wywoływania skryptu, możesz dodać odpowiedni kod#!
na górze skryptuZwrócę też uwagę, że jeśli używasz systemu * unix, istnieje przydatny pakiet Littler , który zapewnia łatwe przesyłanie wiersza poleceń do R. Może być konieczne użycie Littlera do uruchamiania błyszczących aplikacji za pomocą skryptu? Dalsze szczegóły można znaleźć w tym pytaniu .
źródło
R CMD BATCH
jest to okropne. Cokolwiek poza tym ...R CMD INSTALL -l ~/R/lib-dev
To nie odpowiada bezpośrednio na pytanie. Ale ktoś może tu skończyć, ponieważ chce uruchomić oneliner R z terminala. Na przykład, jeśli chcesz po prostu zainstalować brakujące pakiety i wyjść, ten oneliner może być bardzo wygodny. Często go używam, gdy nagle dowiaduję się, że brakuje mi niektórych pakietów i chcę je zainstalować tam, gdzie chcę.
Aby zainstalować w domyślnej lokalizacji:
Aby zainstalować w lokalizacji wymagającej
root
uprawnień:źródło
Rscript -e "getwd()"
w terminalu. Rscript wydrukuje tylko wynik polecenia, a nie pełny komunikat startowy R.r -e "cat(getwd(),'\n')"
jeśli masz zainstalowany Littler. W tej odpowiedzi Dirk Eddelbuettel wyjaśnia różnicę między littler a Rscript.R -e 'install.packages("package", repos="http://cran.us.r-project.org")'
R -r 'options(warn=2); install...'
, aby zatrzymać wykonywanie i uzyskać niezerowy kod błędu w przypadku niepowodzenia instalacji. W przeciwnym razie wszelkieinstall.packages
błędy są tylko ostrzeżeniami.Jeszcze jednym sposobem uruchomienia skryptu R z wiersza poleceń byłoby:
lub z
--save
.Zobacz także Jaki jest najlepszy sposób używania skryptów R w wierszu poleceń (terminal)? .
źródło
Potrzebujesz
?Rscript
polecenia, aby uruchomić skrypt R z terminala.Sprawdź http://stat.ethz.ch/R-manual/R-devel/library/utils/html/Rscript.html
Przykład
źródło
Jak uruchomić Rmd w poleceniu za pomocą knitr i rmarkdown za pomocą wielu poleceń, a następnie Prześlij plik HTML do RPubs
Oto przykład: załaduj dwie biblioteki i uruchom komendę R.
źródło
R -e 'markdown::rpubsUpload("normalDev","NormalDevconJuly.html")'
Jeszcze innym sposobem korzystania z Rscript dla systemów * Unix jest Process Substitution .
Co oczywiście robi to samo, co zaakceptowana odpowiedź, ale pozwala to na manipulowanie i uruchamianie pliku bez zapisywania mocy wiersza poleceń, np .:
Podobnie do
Rscript -e "Rcode"
niego pozwala również na uruchomienie bez zapisywania w pliku. Można go więc używać w połączeniu ze skryptami generującymi kod R, np .:źródło
Tylko w celu dokumentacji czasami musisz uruchomić skrypt jako
sudo
:źródło