但仍然被问如何安装R包,安装不了怎办? 我想了,大概有两个原因: 1、R语言 | R包安装大法 中内容太多,懒得看 2、对最近一直推崇的pacman,还没有做个较为详细的描述 所以,本篇将对pacman包管理工具中的主要函数做个介绍。所以,如果你再问R包怎么装,我就把这篇文章发给你! 加上上面两篇推文,要三篇一起才是最好! Tools to more conveniently perform tasks associated with add-on packages. pacman conveniently wraps library and package related functions and names them in an intuitive and consistent fashion. It seeks to combine functionality from lower level functions which can speed up workflow.
在使用之前需要先安装加载pacman包 install.packages('pacman', repos = 'https://mirror./CRAN/')
library(pacman)
p_load主函数 p_load 用于安装 CRAN 和 bioconductor 等包(自动识别包的来源,不包括 Github 上的包)。如果未安装,则进行安装(相当于 install.packages 、 biocLite 等)和加载(相当于 library );如果已经安装,则相当于加载! 需要注意的是: 1、与常规的包安装命令相比, p_load 函数中的包名不需要加双引号,如安装GEOquery包: 2、如果之前未安装该包,则会在安装完成后显示一个警告: Warning message:package ‘GEOquery’ is not available (for R version 3.5.1)
但并不代表该包未正常安装,而是 p_load 函数内部有先行判断的命令,检测到之前未安装,才会有该警告,可以先运行 options(warn=-1) 命令使其不显示! 3、 p_load 支持多种来源的多个包同时安装/加载,且不需要用 c() 的方式将各包名创建向量,如下: p_load(limma, GEOquery, devtools)
p_installp_load 用于安装和加载,而 p_install 只用于安装,但这并不意味着 p_install 就是鸡肋,例如,想重新安装GEOquery包,此时使用 p_load 就会直接加载,而 p_install 会重新安装,等同于先卸载再 p_load :
p_load_gh使用 p_load_gh 函数(实际调用 devtools 的 install_github 函数)安装Github上的R包:
p_load_gh('tidyverse/readr')
同理,支持多个包的同时安装, p_install_gh 函数实现只安装不加载! p_isinstalled查看某个包是否已经被安装,如survminer包: p_isinstalled(survminer) # 等同于 p_exists(survminer)
如果已经安装则返回TRUE,否则返回FALSE。 p_version查看当前某个包的版本,如survminer: p_version(survminer) # 等同于 packageVersion('survminer')
如果当前不存在该包,则会报错: Error in utils::packageVersion(package) :package ‘survminer‘ not found
p_install_version安装最低为某版本的R包,如下安装 survminer 最低 v0.4.1版本,如果当前已经满足(如已安装了v0.4.2),则跳过: p_install_version('survminer', '0.4.1')
Version of survminer (v. 0.4.2) is suitable
同理,支持多个包的同时安装,使用 p_install_version_gh 可以安装最低为某版本的 Github上 的R包! p_library查看已经安装的包(只显示包名),如果想获取更多包的信息,建议使用R内置的 installed.packages() 函数! p_library() # 等同于 p_lib()
p_deletep_delete 函数调用 remove.packages 进行包的卸载,给定包名,卸载任何来源的R包:
The following packages have been deleted:GEOquery
同样支持多个包的同时卸载! p_path等同于R内置的 .libPaths() 函数,用于查看系统中R包的安装路径: [1] '/Library/Frameworks/R.framework/Versions/3.5/Resources/library'
p_opendir这个比较有意思,直接打开系统中的文件夹: 所以不用再自己点点点了! 更多用法参考: https://cran./web/packages/pacman/pacman.pdf https://cran./web/packages/pacman/vignettes/Introductiontopacman.html 综上,pacman可以替代常规的包管理方式,所以可以将其设置成系统默认,即不用手动加载pacman包就可以使用上示的这些包管理命令,详见: R语言 | 能自动完成的R包加载
|