问题
Suppose I'm trying to run a script of unknown origin, and one of the functions is from a package that is not loaded by the script (an oversight, maybe it was loaded in the .Rprofile
of the person who wrote it). How can I find in which package this function resides?
There's some information compiled on CRAN, that doesn't require the user to download/install all R packages locally; however as far as I could tell it only gives access to the DESCRIPTION files. RSiteSearch, and its web equivalent, seem to access an online database of all CRAN packages, where presumably a list of all functions would be available. Is there some way of accessing this information?
Thanks.
Edit: I know sos::findFn
, utils::RSiteSearch
and search.r-project; what I would like is to get the raw data that these tools use.
回答1:
You can use the sos
package, for example:
library(sos)
findFn("adply")
The output is an html including links to online documentation packages.
回答2:
collidr
package will give you this
library(collidr)
collidr::packages_and_functions_dataframe
It will return a list of packages and their functions from CRAN i.e.
# package_names function_names
# 1 A3 A3-package
# 2 A3 a3
# 3 A3 a3.base
# 4 A3 a3.gen.default
# 5 A3 a3.lm
# 6 A3 a3.r2
# 7 A3 housing
# 8 A3 multifunctionality
# 9 A3 plot.A3
# 10 A3 plotPredictions
# ... ... ...
# 294181 ZVCV getX
# 294182 ZVCV helper_functions
# 294183 ZVCV VDP
# 294184 ZVCV zvcv
# 294185 ZVCV ZVCV_package
# 294186 zyp confint.zyp
# 294187 zyp zyp
# 294188 zyp zyp.sen
# 294189 zyp zyp.trend.csv
# 294190 zyp zyp.trend.vector
来源:https://stackoverflow.com/questions/16818186/find-the-package-names-from-a-function-name-in-r