2011-11-14 7 views
3

R-exts 당 inst/extdata에 넣은 csv 파일을 포함하는 패키지가 있습니다. 이 파일은 비 네트에 필요합니다. 비 네트를 직접 털어 놓으면 모든 것이 잘 돌아갑니다. 그러나 R - vanilla CMD 검사를 실행할 때 검사 과정에서 파일을 찾을 수 없습니다. 검사하는 동안 .Rcheck 디렉토리로 옮겨 졌음을 알았습니다. 이것은 아마도 문제의 일부일 것입니다. 하지만 저는 직접 Sweave와 비 네트 빌딩/검사 작업을 할 수 있도록 설정하는 방법을 모르겠습니다.패키지 검사 중에 비 네트와 함께 inst/extdata 사용 R 2.14.0

네트 이런 광고 포함

EC1 <- dot2HPD(file = "../inst/extdata/E_coli/ecoli.dot", 
node.inst = "../inst/extdata/E_coli/NodeInst.csv", 

및 기능 dot2HPD를 통해 파일에 액세스 : 그런데

> tab <- read.csv("../inst/extdata/E_coli/NodeInst.csv") 
Warning in file(file, "rt") : 
    cannot open file '../inst/extdata/E_coli/NodeInst.csv': No such file or directory 

    When sourcing ‘HiveR.R’: 
Error: cannot open the connection 
Execution halted 

: 여기

ni <- read.csv(node.inst) 

오류 메시지의 , 이것은이 question와 관련이 있습니다. 그러나 그 정보는 시대에 뒤진 것으로 보이며 이 영토를 덮어 라.

저는 Mac에 있습니다.

답변

4

하드 코드 된 상대 경로 대신 system.file을 사용해 보셨습니까?

EC1 <- dot2HPD(file = system.file("inst", "extdata", "E_coli", "ecoli.dot", package = "your_package+name")) 
node.inst <- system.file("inst", "extdata", "E_coli", "NodeInst.csv", package = "your_package_name") 
+0

감사합니다. 그것을 시도했지만 빈 문자열을 반환합니다. ? system.file을 보면 패키지가 이미 설치되어 있어야한다는 의미입니다 (lib.loc 인수가 있기 때문에). 아마도 필요한 것은 system.file의 아이디어이지만 점검 환경에서 평가됩니다. –

+2

'inst'을 생략하십시오; 그 디렉토리는 설치 중에 제거됩니다.'system.file ("extdata", "E_coli", "ecoli.dot", package = "your_package + name")' –

+0

다른 문제가 있습니다. 관심있는 파일은 BAH/packages/HiveR/inst/extdata/E_coli /에 있습니다. 그러나 검사하는 동안 "inst"폴더가 사라지고 대신 관심 파일의 경로가 다음과 같습니다 : BAHpackages/HiveR.Rcheck/HiveR/extdata /E_coli/NodeInst.csv –