Max*_*Max 5 namespaces r package loaded search-path
有没有一个函数可以让我们在 R 中生成所需包的列表?类似于“pip freeze”的东西,所以我们可以快速复制环境?
如果您的意思是“运行有问题的代码后”:
loadedNamespaces()(仅适用于包名称,或者)search()正如@Richard Scriven 所说但是如果您的意思是静态分析有问题的代码而不运行它,那么我不知道有什么工具,但是 mungeing 的输出egrep -R -w '(require|include|source)' *.r应该会给您您想要的东西(显然还会选取包含但未使用或注释掉的包)
谢谢你没有含糊。既然你提到了复制环境,这里有一些关于这些可用包的可用性和命名空间的信息。
除了@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"
Run Code Online (Sandbox Code Playgroud)
有关 中那些包的命名空间的环境列表x,您可以使用(除其他外)getNamespace
> sapply(x, getNamespace)[1:3]
# $assertthat
# <environment: namespace:assertthat>
# $BH
# <environment: namespace:BH>
# $car
# <environment: namespace:car>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4325 次 |
| 最近记录: |