2012-11-05 2 views
0

R 콘솔에서 디렉토리를 변경하려면 시스템 명령을 호출하고 싶습니다. 예를 들어R에서 system()을 사용하는 방법?

,

system(paste('"cd C:/Users/Dropbox/RPackages"'),intern = TRUE) 
system(paste('"R CMD build test"')) 
system(paste('"R CMD check test"')) 
system(paste('"R CMD INSTALL test"')) 
library(test) 

는 이러한 명령은 Windows 명령 프롬프트에서 실행되도록되어있다. 하지만 사용자가 매개 변수의 변화가 전에 내가 R 콘솔에서있어 Package.The 오류 메시지로 묶지 수 있도록 RGUI 스크립트 파일 내부를 묻어 나는 또한

system("cd C:/Users/Dropbox/RPackages",intern = TRUE) 
을 시도

Error in system(paste("\"cd C:/Users/Dropbox/RPackages"\""), intern = TRUE) : 
'"cd C:/Users/Dropbox/RPackages"' not found 

되고 싶어 help(setwd)를 참조 - - 대신

하지만

Error in system("cd C:/Users/Dropbox/RPackages", intern = TRUE) : 
'cd' not found 
+1

밤은이 :

'C:\\Users\\Dropbox\\RPackages' 

사용하여 Windows 7에서 R과 유사한 문제를했다? https://github.com/hadley/devtools – Chase

+0

@Chase가 언급했듯이,이 모든 것을 직접하기보다는'devtools :: check'을 사용하는 것이 좋습니다. – hadley

답변

8

가 왜 디렉토리를 변경하려면 R 명령 setwd()을 사용하지 않는 유사한 오류 메시지가 있어요?

1

system()은 고유 한 인터프리터에서 각 명령을 실행합니다. 작업 디렉토리에 대한 변경 사항은 전파되지 않습니다.

작업 디렉토리에서 여러 작업을 수행하려면 모든 명령을 하나의 system 호출에 넣고 세미콜론으로 구분하십시오 (이 방법은 Linux 쉘에서 작동하며 Windows에 대해서는 잘 모름). \ n으로 분리하는 것도 Linux에서 작동합니다. 시도해보십시오. 당신은 당신이 다시 더블 슬래시를 시도 R.

1

setwd()를 사용하여 더 나을 수 있습니다 실제 문제에 따라

> getwd() 
[1] "/nobackup/rowlings/Downloads/Dirs" 
> system("cd Foo; pwd") 
/nobackup/rowlings/Downloads/Dirs/Foo 
> system("cd Foo") ; system(" pwd") 
/nobackup/rowlings/Downloads/Dirs 

:

다음 비교? `devtools`을 할 수 있도록 설계되었습니다 어떤

download.file(url=<url>, destfile='C:\\<dir>\\<dir>\\<file>') 
관련 문제