2016-11-01 9 views
5

에 네임 스페이스에서 내보낼 수 없습니다. 어제는 대신 메인 PC를 사용하기로 결정했으며 GitHub에 변경 사항을 적용하려고합니다. 나는 document()를 입력 한 후 다음과 같은 오류가 발생했습니다 :데이터는 내가 설정 한 정기적으로 내 노트북 ​​등 DevTools로, Roxygen2에 대한 해들리의 광범위한 문서 다음 GitHub의 내 R 패키지를 업데이트 된 R

Error: 'Adult_Females' is not an exported object from 'namespace:gbm.auto' 

Adult_Females이/데이터의 첫 번째 데이터 파일의 이름입니다. this에 따르면 (데이터 아래로 스크롤)

"데이터에 저장되는 파일/일반적인 네임 스페이스 메커니즘을 사용하지 않기 때문에 내보낼 필요가 없습니다."

그래서 ... 할 사람이 무엇입니까? 나는 어떤 식 으로든 Adult_Females를 편집하지 않았고 내가 편집 한 R 스크립트는 그것을 참조하지 않았습니다. 내 의혹은 모든 데이터 파일에 대해이 오류가 표시된다는 것인데, 처음에는이 오류가 발생했지만 지금은 추측입니다.

미리 감사드립니다. 당신이보고 싶다면 install_github("SimonDedman/gbm.auto").

+1

두 곳에서'gbm.auto :: Adult_Females'를 사용하고있는 것처럼 보입니다. 'gbm.auto ::'를 삭제하려고 시도 했습니까? – nrussell

+0

안녕하세요, 감사합니다. 예, gbm.cons.R의 @examples에 "Adult_Females <- gbm.auto::Adult_Females"; 데이터를 명시 적으로 내보내거나 지명해서는 안되기 때문에 "::"을 지정하지 않으면 사용자에게 데이터가로드됩니까? 이것은 모든 github/roxygen/namespace/description이 어떻게 들어 맞는지에 대한 나의 이해가 떨어지는 영역입니다. –

+0

나는 긍정적이지는 않지만'Adult_Females' 만 사용하면 잘 작동합니다. '::'는 내 보낸 객체와 함께 사용하도록 고안된 것이므로'gbm.auto :: '를 붙이면 오류가 발생합니다. – nrussell

답변

4

데이터 집합이 포함 된 R 패키지를 작성할 때 비슷한 문제가 발생했습니다. 데이터 집합을 다른 이름으로 저장 했어야합니다. 예를 들어, 당신은 쓸 수 있습니다 :

devtools:::use_data(YourDataSetName, pkg = "Path_to_Pkg/data", internal=FALSE) 

하지만 data.R 파일에

, 당신은 YourDataSetName 이외의 맨 끝에 에서 데이터 집합 이름을 지정 (가정 당신이 여기 해들리의 지시 사항을 준수 : http://r-pkgs.had.co.nz/data.html). "data"폴더에 저장 한 데이터 개체가 data.R 파일에 지정된 것과 동일한 지 확인하십시오.

1

데이터 객체에 대한 이름은 4 개의 장소에서 일치하는, 그래서 그들에게 모두 확인해야합니다 : 데이터/foo.rda 파일 데이터/foo.rda에서 객체의

  • 이름의

    1. 이름을 네 가지 항목이 일치해야/foo.R는

    파일/foo.R가 R의 말에

  • 문자열을 파일 R의
  • 파일 이름을 - 내가 이 경우 'foo'. foo.rda 및 foo.R 파일의 이름을 bar.rda 및 bar.R로 변경하면 .rda 파일의 오브젝트 이름을 'foo'에서 'bar'로 바꾸는 것을 잊기 쉽습니다. 그것은 파일을로드 객체의 이름을 변경하고, 새 이름으로 파일을 저장하는 것이 가장 쉬운 방법 : 이렇게하지 않으면

    load('data/foo.rda') 
    bar <- foo 
    save(bar, file='data/bar.rda') 
    

    , 당신은 이름 공간에서로드되지 않은 객체에 대한 도움이되지 않는 오류가 발생합니다. 데이터 객체를 @export 할 필요가 없으므로 대신 모든 위치에서 이름이 일치하도록하십시오.

  • +0

    고마워. 재 : 3 & 4 : 내 개인 데이터 파일을/R 폴더에 .R 파일로 가지고 있지는 않지만 대신 my/data 폴더에있는 6 개의 데이터 세트에 대한 세부 정보가있는 하나의 파일 data.R로 저장합니다. 나는 Hadley의 사이트 어딘가에있는 지시 사항을 토대로 이것을했을 것입니다. 틀린가? 그 데이터 세트의 이름은 데이터에서 정확합니다. R –

    +0

    나는 괜찮은 것 같아요. 그 경우에는 3이 필요하지 않다고 생각합니다.하지만 1 & 2는 알고 있고, 4는 문서에만 필요합니다. – 0mn1