R 包管理

R 包管理

2024-09-04

函数总结

函数 功能
install.packages() 安装包。不加参数,显示CRAN镜像站点站点,加包名称,直接下载安装包
installed.packages() 列出安装的包
update.packages() 更新已安装的包
library("lib name") 载入包
library() 不带参数,查看已安装的 R 包
search() 编译环境下已载入的包
help(package="package_name") 输出某个包的简短描述,以及包中的函数名称和数据集名称的列表

简介

R 包为 R 函数集合。

载入包

R 包在使用前,需要载入当前的 R 环境。载入包命令:

r 复制代码
library("package_name", lib.loc = "path to library")

安装多个包:

r 复制代码
install.packages(c("ggplot2", "devtools", "dplyr"))

如果下载太慢,可以设置镜像:Tools > Global Options... > Packages > Choose HTTPS CRAN Mirror。

安装包

r 复制代码
install.packages(pkgs, lib, repos = getOption("repos"),
                 contriburl = contrib.url(repos, type),
                 method, available = NULL, destdir = NULL,
                 dependencies = NA, type = getOption("pkgType"),
                 configure.args = getOption("configure.args"),
                 configure.vars = getOption("configure.vars"),
                 clean = FALSE, Ncpus = getOption("Ncpus", 1L),
                 verbose = getOption("verbose"),
                 libs_only = FALSE, INSTALL_opts, quiet = FALSE,
                 keep_outputs = FALSE, ...)

参数:

  • repos,指定镜像

以安装sos包为例。sos 包用来搜索某些函数的帮助文档。 在RStudio中用 Tools 菜单的"Install Packages"安装, 输入sos就可以安装该扩展包。

如果不用RStudio, 在 R 图形界面选菜单"程序包-安装程序包",在弹出的"CRAN mirror"选择窗口中选择一个中国的镜像如 "China (Beijing 2)", 然后在弹出的"Packages"选择窗口中选择要安装的扩展软件包名称, 即可完成下载和安装。

还可以用如下程序制定镜像网站(例子中是位于清华大学的镜像网站)并安装指定的扩展包:

r 复制代码
options(repos=c(CRAN="http://mirror.tuna.tsinghua.edu.cn/CRAN/"))
install.packages("sos")
  • 安装一个包
R 复制代码
install.packages("package name")
  • 一次安装多个包
R 复制代码
install.packages(c("ggplot2", "reshape2", "dplyr"))

选择安装路径

如果权限允许,可以选择安装在R软件的主目录内或者用户自己的私有目录位置。

由于用户对子目录的读写有权限问题,有时不允许一般用户安装扩展包到 R 的主目录中。此时可以用 .libPaths()查看允许的扩展包安装位置。

install.packages() 中用 lib= 指定安装位置:

r 复制代码
print(.libPaths())
## [1] "D:/R/R-3.3.1/library"
install.packages("sos", lib=.libPaths()[1])

更新包

r 复制代码
update.packages()

对每个可更新包,会出现一个弹窗询问是否更新。如果不需要弹窗,直接更新,可以设置:

r 复制代码
update.packages(ask = FALSE)

示例:同时更新 ggplot2, reshape2 和 dplyr 三个包

R 复制代码
update.packages(c("ggplot2", "reshape2", "dplyr"))

更新 package 后,需要启动新的 R 会话才能使用新版本的 package。

如果在更新前已经加载了该 package,则需要关闭旧 R 会话,打开新的 R 会话。

devtools

devtools R package 提供从 CRAN 以外的地方安装 package 的功能。devtools 提供了:

  • install_github
  • install_gitorious
  • install_bitbucket
  • install_url

等函数。它们功能类似 install.packages,但是 repository 不同。其中 install_github 特别有用,因为许多 R 开发者在 GitHub 上提供它们包的开发版本。开发版本包含新功能和补丁,但是可能没有 CRAN 版本稳定。

GitHub 和 BioConductor

有一些扩展包没有在CRAN系统提供,而是放在 Github。对于这样的包, 安装方法如下:

r 复制代码
if(!require(devtools)) install.packages('devtools')
	devtools::install_github("kjhealy/socviz")

其中 kjhealy 是 Github 网站的某个作者的名称, socviz 是该作者名下的一个R扩展包。

还有一些包需要从Bioconductor网站安装:

  • 需要先安装 BiocManager
  • 然后用 BiocManager 安装 Bioconductor 中的包

示例如下:

r 复制代码
if (!requireNamespace("BiocManager", quietly = TRUE))
    install.packages("BiocManager")
BiocManager::install(c("Biostrings"))

加载包

例如,载入 RWeka 包:

r 复制代码
library(RWeka)
  • 查看当前库中有哪些 package
r 复制代码
library()

迁移扩展包

在每一次 R 软件更新后,需要重新安装原来的软件包, 这个过程很麻烦。 如果仅仅是小的版本更新, 比如从3.5.1变成3.5.2, 或者从3.4.2变成3.5.0, 可以在安装新版本后, 临时将新版本的 library 子目录更名为 library0, 将老版本的library子目录剪切为新版本的library子目录, 然后将library0中所有内容复制并覆盖进入library子目录, 删除library0即可。 然后在基本R中(不要用RStudio)运行如下命令以更新有新版本的包:

r 复制代码
options(repos=c(CRAN="http://mirror.tuna.tsinghua.edu.cn/CRAN/"))
update.packages(checkBuilt=TRUE, ask=FALSE)

如果版本改变比较大, 可以用如下方法批量地重新安装原有的软件包。 首先,在更新R软件前,在原来的R中运行:

r 复制代码
packages <- .packages(TRUE)
dump("packages", file="packages-20180704.R")

这样可以获得要安装的软件包的列表。 在更新R软件后, 运行如下程序:

r 复制代码
options(repos=c(CRAN="http://mirror.tuna.tsinghua.edu.cn/CRAN/"))
source("packages-20180704.R")
install.packages(packages)

安装时如果提问是否安装需要编译的源代码包, 最好选择否, 因为安装源代码包速度很慢还有可能失败。

相关推荐
Tiger Z2 小时前
R 语言科研绘图第 36 期 --- 饼状图-基础
开发语言·程序人生·r语言·贴图
A林玖2 天前
【计算机相关学习】R语言
开发语言·学习·r语言
Yolo566Q2 天前
R语言、BIOMOD2丨物种分布模型研究进展与挑战
r语言
岁月如歌,青春不败2 天前
MaxEnt模型全解析:从原理到 R 语言实战,开启生态环境研究新视野
arcgis·r语言·生态学·论文写作·生态系统服务·物种分布·maxent模型
invincible_Tang3 天前
R格式 (15届B) 高精度
开发语言·算法·r语言
KY_chenzhao3 天前
基于R语言与MaxEnt的物种分布建模全流程解析:从算法优化到科研制图实战
r语言·maxent·气候变化·物种分布
tRNA做科研3 天前
通过Bioconductor/BiocManager安装生物r包详解(问题汇总)
开发语言·r语言·生物信息学·bioconductor·biocmanager
Tiger Z3 天前
R 语言科研绘图 --- 韦恩图-汇总
开发语言·程序人生·r语言·贴图
Biomamba生信基地4 天前
R语言入门课| 04 R语言基本函数
开发语言·r语言·生信
十三画者4 天前
【工具】BioPred一个用于精准医疗中生物标志物分析的 R 软件包
数据挖掘·数据分析·r语言·数据可视化