명령 행에서 R 스크립트 실행
라는 파일 a.r
이 있는데 chmod
755입니다.
sayHello <- function(){
print('hello')
}
sayHello()
명령 줄을 통해 어떻게 실행할 수 있습니까?
출력을 터미널에 인쇄하려면 Rscript를 사용하는 것이 가장 좋습니다
Rscript a.R
R CMD BATCH a.R
출력을 표준 출력으로 리디렉션하고 터미널에 표시하는 대신이를 사용 하면 a.Rout이라는 새 파일이 생성됩니다.
R CMD BATCH a.R
# Check the output
cat a.Rout
Rscript를 사용할 때주의해야 할 또 다른 사항은 methods
기본적으로 패키지를 로드하지 않아 혼동 될 수 있다는 것입니다. 따라서 메소드가 제공하는 것에 의존하는 경우 스크립트에 명시 적으로로드 할 수 있습니다.
./a.R
스크립트를 호출 하는 방법 을 실제로 사용하려면 스크립트 #!
상단에 적절한 것을 추가 할 수 있습니다
#!/usr/bin/env Rscript
sayHello <- function(){
print('hello')
}
sayHello()
나는 또한 당신이 * UNIX 시스템에서 실행하는 경우 유용한 있음을 유의한다 의 littler R.에 쉽게 명령 줄 배관을 제공하는 패키지
이것은 질문에 직접 대답하지 않습니다. 그러나 누군가 터미널에서 R의 oneliner를 실행하기를 원하기 때문에 여기에 올 수 있습니다. 예를 들어, 누락 된 패키지를 설치하고 종료하려는 경우이 oneliner가 매우 편리 할 수 있습니다. 패키지를 놓친 것을 갑자기 발견하고 원하는 곳에 설치하고 싶습니다.
R -e 'install.packages(c("package1", "package2"))' # install to default location.
sudo R -e 'install.packages(c("package1", "package2"), lib="/usr/local/lib/R/site-library")' # install to location that requires root.
명령 행에서 R 스크립트를 실행하는 또 다른 방법은 다음과 같습니다.
R < scriptName.R --no-save
또는로 --save
.
명령 줄 (터미널)에서 R 스크립트를 사용하는 가장 좋은 방법 은 무엇입니까? .
?Rscript
터미널에서 R 스크립트를 실행 하려면 명령 이 필요합니다 .
http://stat.ethz.ch/R-manual/R-devel/library/utils/html/Rscript.html을 확인 하십시오.
예
## example #! script for a Unix-alike
#! /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()
여러 명령으로 knitr 및 rmarkdown을 사용하여 명령에서 Rmd를 실행 한 다음 RPub에 HTML 파일을 업로드하는 방법
예제는 다음과 같습니다. 두 개의 라이브러리를로드하고 R 명령을 실행하십시오.
R -e 'library("rmarkdown");library("knitr");rmarkdown::render("NormalDevconJuly.Rmd")'
R -e 'library("markdown");rpubsUpload("normalDev","NormalDevconJuly.html")'
* Unix 시스템에서 Rscript를 사용하는 또 다른 방법은 프로세스 대체 입니다.
Rscript <(zcat a.r)
# [1] "hello"
허용되는 답변과 똑같이 작동하지만 명령 줄의 힘을 저장하지 않고 파일을 조작하고 실행할 수 있습니다.
Rscript <(sed s/hello/bye/ a.r)
# [1] "bye"
Rscript -e "Rcode"
그것과 유사하게 파일로 저장하지 않고 실행할 수 있습니다. 따라서 R 코드를 생성하는 스크립트와 함께 사용할 수 있습니다. 예 :
Rscript <(echo "head(iris,2)")
# Sepal.Length Sepal.Width Petal.Length Petal.Width Species
# 1 5.1 3.5 1.4 0.2 setosa
# 2 4.9 3.0 1.4 0.2 setosa
문서화 용도로만 사용하십시오. 누군가 당신은 다음과 같이 scrip을 실행해야합니다 sudo
:
sudo Rscript path/to/your/file.R
참고 URL : https://stackoverflow.com/questions/18306362/run-r-script-from-command-line
도와주세요.
'development' 카테고리의 다른 글
배열 상태는 iOS 12 Safari에서 캐시됩니다. (0) | 2020.02.18 |
---|---|
Java 8 Iterable.forEach () 대 foreach 루프 (0) | 2020.02.18 |
UnicodeDecodeError : 'charmap'코덱은 Y 위치에서 바이트 X를 디코딩 할 수 없습니다. (0) | 2020.02.18 |
지연된 배열을 $ .when ()에 전달 (0) | 2020.02.18 |
git mark를 삭제하고 새 파일을 파일 이동으로 만드는 방법은 무엇입니까? (0) | 2020.02.17 |