在 R 中安装和加载缺少的包

问题描述

如何在 R 中安装和加载多个缺失的包?

  1. 如何确定缺少哪些包?
  2. 为什么使用 lapply() 加载多个包被认为是不好的做法?
  3. 如何加载多个包?

解决方法

我会使用 pacman 包。它同时加载几个包,如果其中任何一个没有安装,它就会安装它们(使用相同的功能)。试试看:

install.packages("pacman")

pacman::p_load(tidyverse,....)
,

install.packages() 函数接受要安装的软件包向量。您不需要任何其他包来执行此操作:


install.packages(c("dplyr","magrittr","tidyr"))

默认安装依赖项。所以你不必担心。

,

您可以使用函数 search() 来确定哪些包已经加载。

许多包已经依赖于其他包,但最流行的一个是 tidyverse,这是一个非常有用的工具包,它加载了一组有用的包,这些包对于数据导入、数据操作、图形和其他活动同步进行。

要加载 tidyverse,您只需调用 library(tidyverse) 并立即加载由 Hadley Wickham 开发的以下软件包:

-- Attaching packages ---------------------------------------------------------------------------------------------- tidyverse 1.3.0 --
v ggplot2 3.3.2     v purrr   0.3.4
v tibble  3.0.4     v dplyr   1.0.2
v tidyr   1.1.2     v stringr 1.4.0
v readr   1.4.0     v forcats 0.5.0 
,

您可以使用 pkg_attach2 中的 xfun 函数(更多信息在此处,在“加载和附加包”下:https://yihui.org/xfun/):

函数 pkg_attach2() 是 pkg_attach(...,install = TRUE),这意味着如果软件包不可用,请安装它。这 函数也可以处理多个包。

函数 loadable() 测试包是否可加载。

,

这可能会有所帮助:

if (!require("pacman")) install.packages("pacman")
pacman::p_load(package1,package2,package_n)