IT TIP

R 패키지의 네임 스페이스

itqueen 2020. 12. 30. 19:59
반응형

R 패키지의 네임 스페이스


사람들은 R 패키지에 네임 스페이스를 제공하는 방법을 어떻게 배우나요? "R Extensions"에있는 문서는 괜찮지 만 변수를 가져 오거나 내보낼 때 어떤 일이 발생하는지 알 수 없습니다.이 지시문에 대한 더미 가이드가 필요합니다.

무엇을 내보낼 지 어떻게 결정합니까? pkg ::: var 구문이 실제로 필요하지 않아야하는 모든 것입니까? 수입품은 어떻습니까?

가져 오기를 사용하면 함수 이름이 겹칠 때 다른 패키지 함수 사용이 혼동되지 않도록 더 쉽게 확인할 수 있습니까?

S4 클래스에 대한 특별한 고려 사항이 있습니까?

sp 및 rgdal과 같은 네임 스페이스를 사용하는 내가 익숙한 패키지는 매우 복잡합니다. 더 명확하게 할 수있는 간단한 예제가 있습니까?


devtools wiki에서 답변을 시작했습니다. http://adv-r.had.co.nz/Namespaces.html


몇 년 후 여기 ....

Chambers, 다른 StackOverflow 게시물 및 R의 많은 땜질에서 얻은 결과를 통합했습니다. http://blog.obeautifulcode.com/R/How-R-Searches-And-Finds-Stuff/

이것은 NAMESPACE / IMPORTS / DEPENDS를 구현하는 것이 아니라 이러한 구조의 목적에 대한 것입니다. 몇 가지 질문에 답하십시오.


내가 읽은 가장 명확한 설명 은 데이터 분석을위한 John Chambers의 Software : Programming with R , page 103에 있습니다. R Extensions 매뉴얼에서 이미 찾은 것보다 더 나은 무료 온라인 설명은 없습니다.


쉽고 작은 패키지를 골라 따라갈 수도 있습니다.

작은 패키지 중 하나 인 다이제스트반 무작위로 살펴 보았습니다 . (작은) 동적 라이브러리를로드하고 하나의 심볼 인 digest()함수를 내 보냅니다 . 다음은 NAMESPACE 파일의 내용입니다.

## package has dynamic library
useDynLib(digest)

## and one and only one core function
export(digest)

나머지 소스 파일을 살펴보고 예제와 함께 Writing R Extensions 를 읽고 몇 가지 실험을 해보십시오.


http://www.stat.uiowa.edu/~luke/R/namespaces/morenames.pdf

참조 URL : https://stackoverflow.com/questions/4371181/namespaces-in-r-packages

반응형