1、综述
越来越多的R包正在由世界上不同的人所创建,其中一部分原因是devtools包使得开发R包1变得更加简单。devtools包不仅让开发R包变得简单,而且用于分发R包。
当开发者发布一个R包的时候,CRAN2一般是最常用的。使用install.packages()函数可以安装发布在CRAN上的R包。例如,如下方法可以安装dplyr包:
install.packages('dplyr')
devtools包的install_github()函数用于从Github上安装R包。
library(devtools)
install_github('hadlley/dplyr')
因此,开发者可以分发正在Github上开发的R包。此外,有些开发者并没有将自己开发的R包提至CRAN的意向。例如,Twitter,Inc在Github上提供的AnomalyDetection包。这时我们可以通过devtools包轻松的安装该R包:
library(devtools)
install_github("twitter/AnomalyDetection")
install.packages()和install_github()函数所需的参数是不同的。install.packages()只需包名即可,而install_github()需要提供Github的仓库名。这意味着当你想从Github上安装一个R包的时候你必须准确的记得它的仓库名称。
麻烦的是,我们往往很难记住Github的用户名。开发者在给R包命名的时候一般会考虑包的名称,以便用户方便记忆。然而,他们在给自己取一个Github用户名的时候可能就没那么小心了。例如,ggfortify是Github上的一个非常好的包。但它是由谁开发的呢?用户名是什么呢?答案是sinhrks4。我们似乎很难记住它。
githubinstall包提供了一种类似于install.packages()的方式,只需包名即可安装R包。
#install.packages('githubinstall') #已发布至CRAN
library(githubinstall)
githubinstall('AnomalyDetection')
Suggetion:
- twitter/AnomalyDetection
Do you install the package?
1: Yes (Inst