이 가능한 중복 :
How do you you determine the namespace of a function?이름
내가이 작업을 수행하는 방법을 모르겠어요 ... 당신은 어떻게 패키지 이름을 알 수 있습니까 R의 특정 함수에 대해? 함수의 이름이 주어진 함수를 갖고 싶습니다, 소유하고있는 패키지의 이름을 반환합니다. 어떠한 제안?
이 가능한 중복 :
How do you you determine the namespace of a function?이름
내가이 작업을 수행하는 방법을 모르겠어요 ... 당신은 어떻게 패키지 이름을 알 수 있습니까 R의 특정 함수에 대해? 함수의 이름이 주어진 함수를 갖고 싶습니다, 소유하고있는 패키지의 이름을 반환합니다. 어떠한 제안?
더 나은 해결책이있을 수 있지만 find("functionname")
은 상당히 잘 작동하는 것 같습니다. 그러나로드 된 패키지에서만 작동합니다. Andrie로 연결된 이전 질문에
> find("strwidth")
[1] "package:graphics"
> find("qplot")
character(0)
> library(ggplot2)
> find("qplot")
[1] "package:ggplot2"
>
(패키지의 원시 이름을해야 할 경우 gsub("^package:","",results)
을 사용할 수 있습니다)
(답변이 대답을 포함, 그들은 비트에 대한 gsub
를 제공하지 않습니다, 그들은 모두 비로드 패키지를 찾지 못하는 문제를 공유하는 것) 여기
findAllFun <- function(f) {
h <- help.search(paste0("^",f,"$"),agrep=FALSE)
h$matches[,"Package"]
}
findAllFun("qplot")
## "ggplot2"
findAllFun("lambertW")
## "emdbook" "VGAM"
> findAllFun("xYplot")
## "Hmisc" "lattice"
,
에 설치된 기능을 찾으려면 패키지 (예 : CRAN 검색), sos
패키지의 findFn
이 귀하의 친구가됩니다.
및로드되지 않은 패키지는 어떻게됩니까? – Nestorghh
@Andrie 잘 찾아 냈습니다. 모든 패키지가 이제 네임 스페이스를 가지고 있다고 가정 할 때, 당신이 링크하는 Q & A에서 hadley의 답변이 가장 좋은 해결책이라고 생각합니다. –
@GavinSimpson : 왜 'findFunction'보다 나은가요? (필자는 학생들에게'findFunction (foo)'보다는'getNamespaceName (environment (foo))'를 사용해야하는 이유를 설명하려고 상상해 보려고합니다. 전자는 조금 마법처럼 보입니다. 장점 ...) –
@BenBolker'find()'&'findFunction()'don; t * 그냥 * 네임 스페이스 (따라서 패키지) 이름을 반환합니다. 그들의 결과는 추가 처리가 필요합니다. Hadley는 패키지 이름을 문자로 반환합니다. 나는 함수 나 프로그래밍을 작성하는 것이 더 좋지만, 사용자 코드는 다른 것들도 괜찮습니다. –