我不知道怎么做...你怎么知道R中某个功能的包名?我想有一个给定函数名称的函数,返回拥有它的包的名称。有什么建议吗?
答案 0 :(得分:7)
可能有更好的解决方案,但find("functionname")
似乎运作得相当好?但是,它仅适用于加载的包。
> find("strwidth")
[1] "package:graphics"
> find("qplot")
character(0)
> library(ggplot2)
> find("qplot")
[1] "package:ggplot2"
>
(如果您需要包的原始名称,可以使用gsub("^package:","",results)
)
(由Andrie链接的上一个问题的答案包括这个答案;他们没有给出关于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),那么findFn
包中的sos
将成为您的朋友。