2014-03-28 7 views
0

R로 실행하기 위해 커맨드 라인 인수로 문자열을 전달할 수 있는지 알고 싶습니다.커맨드 라인 인수가 R

저는 이미 시도해 봤는데 따옴표와 상관없이 공간을 기반으로 구문 분석을한다고 생각합니다.

./R_Script.r abc.bed def.bed "cat bedgraph 1,2" 
+1

[이 답변] (http://stackoverflow.com/questions/2151212/how-can-i-read-command-line-parameters-from-an-r-script)에서 볼 수 있습니다 –

답변

3

공간을 기준으로해서 구문 분석하면 안됩니다. Rscript을 사용하고 스크립트 파일을 전달하는 대신 R 스크립트 파일을 직접 실행하려고하는 이유가 확실하지 않습니다. commandArgs(),이 라인을 실행 : 당신의 R_Script.r 파일은 한 줄이 포함 된 경우 당신이 볼 수 있듯이,리스트의 7 요소가 first second입니다

[1] "/usr/local/lib/R/bin/exec/R" "--slave" 
[3] "--no-restore"    "--vanilla" 
[5] "--file=R_Script.r"   "--args" 
[7] "first second" 

, 그렇게 :

Rscript --vanilla R_Script.r "first second" 

당신을 얻어야한다 공간을 파싱하지 않습니다.

+0

감사합니다, Rscript 스크립트를 직접 실행하는 것보다 훨씬 좋은 방법입니다. –

+1

당신은'commandArgs (trailingOnly = TRUE)'를 사용할 수 있습니다. –