R中是否有一个函数来识别安装了哪个库? (这假设某些软件包安装在本地目录中,例如~/R_libs
)
例如,在bash中,只需输入which [package name]
,它就会返回[package name]
正在执行的位置。
答案 0 :(得分:6)
我想你想要find.package()
。
## path to package
find.package("base")
# [1] "/usr/lib/R/library/base"
## path to directory
dirname(find.package("base"))
# [1] "/usr/lib/R/library"
答案 1 :(得分:4)
例如,要查找打包基础的路径(将其替换为您想要的任何包)
libs <- library()$results
libs[which (libs[,"Package"]=="base"), "LibPath"]
答案 2 :(得分:2)
以下是使用installed.packages
的另一种方法:
您可以使用以下命令找到包库的路径:
# return a matrix of p by 16 where p is the number of packages you have installed
packageInfo <- installed.packages()
# pull out the path of the library where data.table is installed, for example:
packageInfo["data.table", "LibPath"]
[1] "<path from root>/R/win-library/3.2"
如@ procrastinatus-maximus的评论所述,使用它会更紧凑
installed.packages()["data.table", "LibPath"]
调用installed.packages()
会导致R打嗝(超短暂延迟),因此如果要查找多个包,或查找有关包的更多信息,请将结果矩阵保存在变量中并从中提取信息根据我的经验,它直接变得更加愉快。