使用单个命令加载多个 R 包
Loading multiple R packages with a single command
多个 R
包可以使用函数 p_load
从 pacman
R
包中使用以下命令加载:
pacman::p_load("ggplot2", "lme4")
但是,我想使用这样的命令
Packages <- c("ggplot2", "lme4")
pacman::p_load(Packages)
这是行不通的。想知道这是如何实现的吗?
在 p_load
函数中使用参数 char
。
char: Character vector containing packages to load
foo <- c("data.table", "ggplot2")
pacman::p_load(char = foo)
在 TRUE
上设置 character.only
Packages <- c("ggplot2", "lme4")
Packages %in% loadedNamespaces() # check if the packages are loaded
# [1] FALSE FALSE
pacman::p_load(Packages, character.only = TRUE)
Packages %in% loadedNamespaces()
# [1] TRUE TRUE
来自?p_load
:
"character.only
: logical. If TRUE then p_load will only accept a single input which is a character vector containing the names of packages to load."
或者,do.call(p_load, packages)
。
你也可以在没有 Pacman 的情况下执行此操作:
lapply(packages, require, character.only = TRUE)
但正如其他人所说,不推荐,因为它会降低清晰度。
多个 R
包可以使用函数 p_load
从 pacman
R
包中使用以下命令加载:
pacman::p_load("ggplot2", "lme4")
但是,我想使用这样的命令
Packages <- c("ggplot2", "lme4")
pacman::p_load(Packages)
这是行不通的。想知道这是如何实现的吗?
在 p_load
函数中使用参数 char
。
char: Character vector containing packages to load
foo <- c("data.table", "ggplot2")
pacman::p_load(char = foo)
在 TRUE
character.only
Packages <- c("ggplot2", "lme4")
Packages %in% loadedNamespaces() # check if the packages are loaded
# [1] FALSE FALSE
pacman::p_load(Packages, character.only = TRUE)
Packages %in% loadedNamespaces()
# [1] TRUE TRUE
来自?p_load
:
"
character.only
: logical. If TRUE then p_load will only accept a single input which is a character vector containing the names of packages to load."
或者,do.call(p_load, packages)
。
你也可以在没有 Pacman 的情况下执行此操作:
lapply(packages, require, character.only = TRUE)
但正如其他人所说,不推荐,因为它会降低清晰度。