近两个月写毕业论文去了,鸽了。现在重新开更,一时间也想不出要水点什么,就写一下之前遇到的一个R包安装的小问题吧。

一般安装

不同于其他语言,R有着高度集权的管理体系,至少我目前遇到的几乎所有包都要在cran上找(当然也有从源码安装),并且R语言的IDE基本等价于Rstudio(其他都不够好用)。
文档虽然有很多换皮网站,比如RdocumentRdrr,但其内容都是从cran的包简介里面扒的。咳咳,扯远了。。

总而言之,我一直认为R包的安装都是统一的:

1
> install.packages("{PACKAGE_NAME}")

最多就是加入了一些参数:

1
2
# 安装包及其依赖项
> install.packages("{PACKAGE_NAME}", dependencies=T)

而一般的包确实如此,所以安装流程很懒人:

  1. 搜索cran上有没有这个包
  2. install.packages安装

特殊情况(以pcalg为例)

然而,从来如此,便对么?
最近我才发现,R包居然确实可以不由cran提供!以pcalg为例:

Imports部分就是其所依赖的部件,而Suggests部分是可选安装的依赖。更具体的:

  • 黑色无链接:表示R语言内置包
  • 蓝色有链接:表示cran上的包,可以通过dependencies=T来安装
  • 青色有链接:表示其他平台的包,需要自行安装

因此,为了安装这样的包,我们需要一个个点进青色链接来手动安装依赖。以上面为例,
graph链接点进去是这个网站,它来自这个叫BiocManager的库。

从第三方库安装,需要仔细查看安装说明。比如BiocManager对于R版本4.1以上/以下具有不同的安装方法。

如果不闻不问,只是一个劲的用install.packages('pcalg')装,那结果只能是一直报错,然后心态大崩。。
鲁迅先生说得好呀