R包的4种安装方式及常见问题解决方法
- R包的四种安装方式
-
-
- [1. install.packages()](#1. install.packages())
- [2. 从Bioconductor安装](#2. 从Bioconductor安装)
- [3. 从本地源码安装](#3. 从本地源码安装)
- [4. 从github安装](#4. 从github安装)
-
- 常见问题的解决
-
-
- [1. 版本问题](#1. 版本问题)
- [2. 网络/镜像问题](#2. 网络/镜像问题)
- 3.缺少Rtools
-
R包的四种安装方式
1. install.packages()
对于R自带的包的安装一般都可以通过该函数进行安装,在双引号中写入需要安装的包的名字即可。
r
install.packages("ggplot2")
2. 从Bioconductor安装
对于一些来自于Bioconductor的包,通常可以通过BiocManager进行安装。
r
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("DESeq2")
3. 从本地源码安装
有时由于R版本限制或者网络问题无法在线安装R包时,可以把R包的安装包下载到本地用源码进行安装。首先需要将安装包下载到本地,然后采用以下代码进行安装。
r
install.packages("D:/R-4.4.1/library/ggstance_0.3.7.tar.gz", repos = NULL, type = "source")
注意 ,在使用该方法进行安装时,不同于其他在线安装方法,本方法安装时附加包无法自动安装,因此会遇到如下附加包不存在的问题,因此需要首先进行附加包的安装再重新安装目标包。
比如在安装ggstance时,根据报错信息:依赖包dplyr不存在,因此首先安装dplyr
r
install.packages("plyr")
之后重新安装ggstance就没问题了。
4. 从github安装
有一些包只有github版本,或者github版本比官方版本更新更及时,因此我们避免不了要从github进行安装。
r
# 安装并加载devtools
install.packages("devtools")
library(devtools)
devtools::install_github("hadley/ggplot2")
常见问题的解决
1. 版本问题
此类问题一般会提示 package "xxx" is not available ( for R version 4.3.0),对于初学R的人来说,最简单的方法就是重新安装新版本的R,一般来说这个方法都能解决该问题;另外,若重新安装R之后该问题还是没解决,那么推荐使用源码安装的方法安装该R包。
2. 网络/镜像问题
此类问题的报错一般是 无法打开URL"http://xxxxxx" 等,一般都是由于网络或者镜像问题造成的该错误,因此首先要检查网络是否可以正常使用,排除该问题后,可以考虑采用以下方法查看并更换合适的镜像(国内一般使用清华镜像):
r
# 查看当前镜像
options(repos = c(CRAN = "http://cran.rstudio.com/"))
# 更换镜像
chooseCRANmirror()
## 直接更换为清华镜像
options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
3.缺少Rtools
此类问题的报错一般为:Rtools is required to build R packages but is not currently installed ;这是由于部分R包的安装与使用需要用到Rtools,这是一个用于Windows操作系统的软件包,为R语言提供一系列构建和安装源代码包的工具;当缺少该工具时,我们需要首先安装Rtools并配置好相应的环境变量才能够正常使用。
-
下载Rtools:https://cran.r-project.org/bin/windows/Rtools/
(注意:需要下载与自己的R环境对应版本的Rtools)
-
安装Rtools:下载后双击按照提示安装即可,在安装过程中,一般会有一个步骤询问是否要将rtools添加至环境变量中,要在此步骤中勾选该选项,这样安装好之后才能够正常使用。如果在安装过程中没有进行该选项的选择,那么需要手动将其添加至环境变量中。
-
重启R或Rstudio
安装好之后,需要重新启动R或Rstudio
以上是R包安装的四个常用方法以及在安装过程中可能会遇到的问题及解决方法,欢迎各位交流讨论。
有R语言相关的更复杂的问题需要付费指导可咸鱼咨询:Dream.jpg