在R中按用户获取已安装软件包的列表

989*_*989 27 packages r

我们如何在R中获取用户安装的软件包列表及其版本?

我知道有关installed.packages()所有包(基本或非基础)的信息的命令.但是我们如何才能让用户安装的东西具有这样的东西:

Package    Version
X          3.01
Y          2.0.1
Z          1.0.2
Run Code Online (Sandbox Code Playgroud)

对于所有用户安装的软件包(即您安装的软件包install.packages("X"))

小智 33

REF

ip = as.data.frame(installed.packages()[,c(1,3:4)])
ip = ip[is.na(ip$Priority),1:2,drop=FALSE]
ip
Run Code Online (Sandbox Code Playgroud)

  • 你的答案和上面@Ckkhamari 提供的答案有什么区别?(上面的代码是:`str(allPackage <-installed.packages(.Library,priority = "high")); allPackage [, c(1,3:5)]`。它给出了一个非常不同的包列表。 “ref”链接没有解释任何内容。 (2认同)

989*_*989 20

我刚刚找到另一种方法来查看包列表而不编写任何代码:

  • 打开RStudio
  • 导航到Help --> R Help(从上面的菜单中)
  • 您将看到帮助面板已打开.
  • 然后跟着, Reference --> Packages

你在这.


要么

  • 打开R控制台
  • 导航 Help --> Html help
  • 然后跟着, Reference --> Packages


小智 10

str(allPackage <- installed.packages(.Library, priority = "high"))

allPackage [, c(1,3:5)]
Run Code Online (Sandbox Code Playgroud)

您将获得所有活动包列表


小智 10

这是我的解决方案。

tibble::tibble(
  Package = names(installed.packages()[,3]),
  Version = unname(installed.packages()[,3])
)
Run Code Online (Sandbox Code Playgroud)

您甚至可以过滤一些您想要显示的包。

pkg = tibble::tibble(
  Package = names(installed.packages()[,3]),
  Version = unname(installed.packages()[,3])
)

dplyr::filter(pkg, Package %in% c("tibble", "dplyr"))
Run Code Online (Sandbox Code Playgroud)