个人而言,我更喜欢使用以下代码片段,它只安装当前未安装的包[
节省大量时间],同时加载所有列出的包。
我还建议您通过调用
install.packages(<package list, dependencies = TRUE)
显式加载软件包依赖项。
示例代码片段
requiredPackages <- c("proto","gsubfn","tidyr","dplyr","ggplot2",
"stringr","magrittr","usmap","RCurl","RJSONIO","sqldf")
ipak <- function(pkg){
new.pkg <- pkg[!(pkg %in% installed.packages()[, "Package"])]
if (length(new.pkg))
install.packages(new.pkg, dependencies = TRUE)
sapply(pkg, require, character.only = TRUE)
}
ipak(requiredPackages)
控制台输出
第一次调用时,所有内容都已安装和/或加载,第二次运行时,如果尚未加载,则会加载所有内容。
> requiredPackages <- c("proto","gsubfn","tidyr","dplyr","ggplot2",
+ "stringr","magrittr","usmap","RCurl","RJSONIO","sqldf")
> ipak <- function(pkg){
+ new.pkg <- pkg[!(pkg %in% installed.packages()[, "Package"])]
+ if (length(new.pkg))
+ install.packages(new.pkg, dependencies = TRUE)
+ sapply(pkg, require, character.only = TRUE)
+ }
> ipak(requiredPackages)
proto gsubfn tidyr dplyr ggplot2 stringr magrittr usmap
TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
RCurl RJSONIO sqldf
TRUE TRUE TRUE
pacman::p_load()
比接受的答案更好。p_load
可以检查并安装来自CRAN
和BioConductor
的两个包。 https://cran.r-project.org/web/packages/pacman/vignettes/Introduction_to_pacman.html - undefined