简体   繁体   English

如何确定哪些包依赖于 R 中的给定 package?

[英]How do I determine what packages are dependent on a given package in R?

I have a package in my library and I do not know where it came from.我的图书馆里有一个 package,但我不知道它是从哪里来的。 Presumably it was downloaded as a dependency of another package I use.大概它是作为我使用的另一个 package 的依赖项下载的。 How can I find out which package(s) are dependent on a package of interest?如何找出哪些软件包依赖于感兴趣的 package?

You can use installed.packages which gives the list of all your installed packages with their dependencies (as a matrix object).您可以使用installed.packages ,它提供所有已安装软件包的列表及其依赖项(作为矩阵对象)。 Say for instance that you want to find which packages are dependent on rJava :例如,假设您要查找依赖于rJava包:

#get my installed packages
x<-installed.packages()
#find packages dependent on rJava
x[grepl("rJava",x[,"Depends"]),"Package"]
#the result for my R installation
#  XLConnect        xlsx    xlsxjars 
#"XLConnect"      "xlsx"  "xlsxjars"

If you want to find packages dependent on rJava, just use tools package.如果要查找依赖于 rJava 的包,只需使用工具包。

library(tools)
dependsOnPkgs("rJava")

Or use the tidyverse way:或者使用 tidyverse 方式:

library(tidyverse) 
packages <- installed.packages()
required_package <- "rJava"
as_tibble(packages) %>%    
    filter(str_detect(Depends, required_package) | 
           str_detect(Imports, required_package) | 
           str_detect(LinkingTo, required_package)) %>%
    pull(Package)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM