R语言可能是目前大部分生信初学者所接触的第一门编程语言。而学习一门编程语言的首要任务肯定是安装相关环境,R语言也不例外。
大部分人在安装的时候都不需要遇到问题,但是总有一小部分例外。根据我的统计,每30人里面必然会有一个人的电脑会因为中文用户名导致Rstudio无法画图,每100个人中会有一个人把R和Rstudio安装在中文路径下(例如D:/R编程学习/RStudio
)导致RStudio打开之后是白屏,当然还有其他一些奇奇怪怪的问题(比如说XP系统)。毕竟林子大了,什么鸟都有。
于是,我在2019年年初重新录制了R语言软件安装相关的视频,用我新买的笔记本电脑,在全新的环境中演示如何进行安装R,Rstudio以及R包。那个时候我用的R版本还是3.5.2,而现在都已经到R4.0了,RStudio的网站都改版了很多。本来是想计划重新制作的,但发现我的时间实在是不够用,只能作罢,只做了一些基本的剪辑工作就重新上传到了B站了。
视频地址: 可能是最好的R语言安装指南
视频分为两个部分,分别是R环境准备和R包安装。
在R环境准备中,我介绍了如何安装R语言,安装RStudio,以及安装JRE(Java运行环境,针对某些R包)和Rtools(用于编译R包)。当然更重要的是,我演示了几种常见的报错的结局方案
- 08:22 R语言中文路径
- 10:04 RStudio中文路径
- 11:05 中文用户名
在R包安装中,我介绍了如何配置镜像,如何安装和卸载R包。
对于镜像,我视频推荐的都是清华镜像,但有些时候清华镜像也可能出现问题,需要按照实际情况进行调整。关于R包安装,我用的是如下代码
if(!require("xlsx")) install.packages("xlsx")
if(!require("tidyr")) install.packages("tidyr")
if(!require("dplyr")) install.packages("dplyr")
if(!require("ggplot2")) install.packages("ggplot2")
if(!require("data.table")) install.packages("data.table")
if(!require("ggrepel")) install.packages("ggrepel")
if(!require("devtools")) install.packages("devtools")
if(!require("BiocManager")) install.packages("BiocManager")
if(!require("DESeq2")) BiocManager::install("DESeq2")
if(!require("clusterProfiler")) BiocManager::install("clusterProfiler")
不过目前看来使用require
判断R包是否安装的方法并不好,更好的方式是用requiereNamespace
检查命名空间。原因在于前者会进行加载跳出很多信息,而后者不会
> requireNamespace("DESeq2")
Loading required namespace: DESeq2
> require(DESeq2)
Loading required package: DESeq2
Loading required package: S4Vectors
Loading required package: stats4
Loading required package: BiocGenerics
Loading required package: parallel
...
以下省略其他信息
因此建议用下面的方法来实现R包检查和安装。
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
和R环境安装一样,我也演示了几种常见的R包安装会遇到的报错
- 27:05 手误打错R包的名字
- 28:31 安装R包A时没有正确处理依赖关系,导致无法正确加载
最后还有一些建议
- 使用bioconda安装R时,请新建环境,避免冲突
- R版本和R包版本不需要追求最新
- 优先选择Windows上的R,因为很多包都有已编译的版本(不过有些R包只有Linux上能用)
当然视频时长不能太长,我们更多时候是需要看看别人的经验,我在简书上就整理了一个专栏专门记录R语言报错,R语言问题集锦
R语言报错集锦
网友评论