有没有可以在 R 中生成所需包列表的函数?类似于“pip freeze”的东西,所以我们可以快速复制环境?
最佳答案
谢谢你没有含糊。既然你提到了复制环境,这里有一些关于这些可用包的可用性和命名空间的信息。
除了@smci 提到的那些功能,.Packages
将列出库位置路径中的所有可用包 lib.loc
.和 find.package
将显示包的路径。请记住 find.packages
在确定包的可用性时可能会出现问题。 require
是推荐的方法(见 ?find.package
解释)。
> x <- .packages(TRUE)
> head(x)
# [1] "assertthat" "BH" "car" "data.table"
# [5] "digest" "dplyr"
> f <- find.package(x)
> sample(f, 5)
# [1] "/home/richard/R/x86_64-pc-linux-gnu-library/3.1/latticeExtra"
# [2] "/home/richard/R/x86_64-pc-linux-gnu-library/3.1/Lahman"
# [3] "/home/richard/R/x86_64-pc-linux-gnu-library/3.1/microbenchmark"
# [4] "/usr/lib/R/library/tools"
# [5] "/home/richard/R/x86_64-pc-linux-gnu-library/3.1/knitr"
有关
x
中这些包的命名空间的环境列表,您可以使用(除其他外)getNamespace
> sapply(x, getNamespace)[1:3]
# $assertthat
# <environment: namespace:assertthat>
# $BH
# <environment: namespace:BH>
# $car
# <environment: namespace:car>
关于r - 我们是否能够在 R 中生成已加载包的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23439046/