2011-03-09 3 views
1

가능한 중복 : 나는 몇 가지를 제공 할 수 있도록하고 싶습니다 어떤을위한 R 스크립트를 가지고
How can I read command line parameters from an R script?는 bash는 스크립트에서 인자를 가진 R 파일을 실행

명령 줄 매개 변수 (코드 자체의 하드 코드 매개 변수 값이 아닌). 스크립트는 리눅스에서 실행됩니다.

명령 줄 Bash에서 R.script를 읽는 방법을 알 수 없습니다.

쉬 파일

cd `dirname $0` 
/usr/lib64/R/bin/R --vanilla --slave "--args input='$1' input2='$2' output='$3'" file=/home/lvijfhuizen/galaxy_dist/tools/lisanne/partone.R $3.txt 

R 파일

args <- commandArgs() 
file <- read.csv(args[8],head=TRUE,sep="\t") 
annfile <- read.csv(args[9],head=TRUE,sep="\t") 
+2

또한보십시오 http://stackoverflow.com/search?q=[r]+script+command+line+parameters 그것은 최고의 검색 기능이 아니지만 때로는 작동합니다 ... –

답변

5

는 명령 줄에서 R 스크립트를 소스에, 당신은 <와 R에 파이프를 할 수 있습니다. 예를 들어

, 나는 다음과 같은 test.sh bash는 스크립트를 작성하는 경우 :

print(commandArgs(trailingOnly=TRUE)) 

다음과 같은 첫 test.R으로 스크립트를 실행 : test.R이 같은 디렉토리에 다음과 같은 R 스크립트입니다

#!/bin/bash 

rfile=$1 
shift 
R --vanilla --slave --args $* < $rfile 
exit 0 

논쟁과 아마도 다른 사람들은 다음과 같이 줄 것이다 :

$ ./test.sh test.R foo bar 1 2 3 
[1] "foo" "bar" "1" "2" "3" 

편집 : 또 다른 방법은, 아마 청소기 전용 Rscript 명령을 사용하는 것입니다. 그런 다음 bash 스크립트에 직접 넣을 수 있습니다.

rfile=$1 
shift 
Rscript $rfile $* 

동일한 결과를 제공해야합니다.