R
可以使用 package 中的 functionp_load
函数通过pacman
R
以下命令加载多个包:
pacman::p_load("ggplot2", "lme4")
但是,我想使用这样的命令
Packages <- c("ggplot2", "lme4")
pacman::p_load(Packages)
这是行不通的。想知道如何做到这一点?
R
可以使用 package 中的 functionp_load
函数通过pacman
R
以下命令加载多个包:
pacman::p_load("ggplot2", "lme4")
但是,我想使用这样的命令
Packages <- c("ggplot2", "lme4")
pacman::p_load(Packages)
这是行不通的。想知道如何做到这一点?
开启character.only
_TRUE
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
:逻辑。如果为 TRUE,则 p_load 将仅接受单个输入,该输入是包含要加载的包名称的字符向量。”
或者,做do.call(p_load, packages)
.
你也可以在没有吃豆人的情况下做到这一点:
lapply(packages, require, character.only = TRUE)
但正如其他人所说,不推荐,因为它会降低清晰度。
char
在p_load
函数中使用参数。
char:包含要加载的包的字符向量
foo <- c("data.table", "ggplot2")
pacman::p_load(char = foo)