Bash 相当于 R 中的

Bash equivalent of which in R

R 中是否有一个函数可以识别软件包安装在哪个库中? (这是假设某些包安装在本地目录下,例如~/R_libs

例如,在 bash 中,只需输入 which [package name],它就会 return [package name] 执行的位置。

例如,查找包库的路径(将其替换为您想要的任何包)

libs <- library()$results
libs[which (libs[,"Package"]=="base"), "LibPath"]

这是使用 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 打嗝(超短延迟),因此如果您正在查找多个包,或查找有关包的更多信息,然后将结果矩阵保存在变量中并拉取根据我的经验,直接来自它的信息往往更令人愉快。

我想你想要 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"