2016-09-11 5 views
1

패키지를 R로 작성할 때 패키지의 DESCRIPTION에 기본 패키지 (utils, grDevices, stats 등)를 종속으로 추가해야합니까?R베이스 패키지에 대한 패키지 종속성

Some packages이 작업을 수행하지만 대부분은 그렇지 않은 것으로 보입니다.

이것에 관해서 Writing R Extensions manual에 관한 어떤 정보도 발견되지 않았습니다.

+0

예, 필요에 따라 DESCRIPTION 및 NAMESPACE에서 가져와야합니다. 지난 패키지는 지난해 CRAN에서만 구현 되었기 때문에이 정책을 준수하지 않았을 수 있습니다. – Thomas

+0

@Thomas R CMD 검사는 이것을 실행할 때 걱정하지 않았습니다. 또한이 문제가 CRAN 정책에서 다루어지는 곳을 찾을 수 없어서 저에게 보여주십시오. (내 질문은 R의 기본 패키지에 선택적으로 적용됩니다.) 부차적 인 언급으로 R CMD를 실행할 때 CRAN이이 문제와 제안한 중복 거래로 메모, 경고 또는 오류를 표시하지 않는 것을 보았습니다. –

+1

'R CMD check --as-cran'을 실행하십시오. 이것은 매우 명쾌한 것이 아니지만 [WRE에서 "모든 패키지"가 (https://cran.r-project.org/doc/manuals/r-devel/R-exts.html#DOCF10) 전달해야 함을 알리는 곳에서는 또한 기본 이외의 기본 패키지를 의미합니다. – Thomas

답변

1

당신은 너무 많은 의존성을 설정하지만 오기로 패키지를 사용하는 것을 선호하지 않아야에,

는 설명의 예를 들어 당신이 다음 중 하나를 사용할 수있는 네임 스페이스에 importFrom을

 Imports:  
    graphics, 
    utils, 
    stats, 
    grDevices 

를 작성합니다 이 경우에는 몇 가지 기능 만 사용할 수 있습니다. 그런 다음 pkg :: fun()를 사용하여 함수를 가리 키거나 전체 패키지를 가져올 pkg를 가져올 필요가 없으며 pkg :: fun()를 사용할 필요가 없습니다. 당신이 그들을 사용하거나 의존을 가져 오지 않고 그 기능을 사용하려고하면 당신이 당신의 NAMESPACE

import(graphics) 
    importFrom(stats,coef) 
    importFrom(stats,ftable) 
    importFrom(stats,na.fail) 
    importFrom(utils,data) 
    importFrom(utils,globalVariables) 
    importFrom(utils,read.csv) 
    importFrom(utils,select.list) 
    importFrom(utils,stack) 
    importFrom(utils,write.table) 

에 쓸 수있는 내용의 예 아래

의 R-CMD 검사가 실패합니다.

+0

패키지에서'::'를 사용하여 모든 기능에 액세스했지만 NAMESPACE에 가져 오기를 추가하지 않았습니다. 그러나 R CMD 검사는 기본 R의 일부가 아닌 패키지에 대해 grDevices (예를 들어)를 추가하지 않는 것에 대한 어떤 오류도 발생시키지 않았습니다. –

+0

@thomas의 이전 주석은 여러분에게 정답을 제공한다고 생각합니다 . 나는 R-forge에 대처하는 경고를 받았고, 단순히 의존하기 전에 의존성이 너무 많다는 경고를 받았다. 토마스가 말한 것처럼 R CMD CHECK --as-cran를 사용해보십시오. – Cedric

+0

위에서 언급 한 바와 같이 @Cedric은 경고 메시지가 나타나지 않고 R CMD 검사가 CRAN 서버에서 실행되었습니다. –

관련 문제