B中相当于R的Bash

时间:2016-06-30 19:13:32

标签: r equivalent

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

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

3 个答案:

答案 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打嗝(超短暂延迟),因此如果要查找多个包,或查找有关包的更多信息,请将结果矩阵保存在变量中并从中提取信息根据我的经验,它直接变得更加愉快。