从Github上轻松安装R包—githubinstall包--转载
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 (Install)
2: No (Cancel)
githubinstall()会从Github的仓库中搜索相应的R包,并询问你是否安装。
此外,如果你只是模糊的记得包名也可以安装成功,githubinstall包通过模糊的字符串会自动纠正包名。
githubinstall("AnomaryDetection")
githubinstall("AnomalyDetect")
githubinstall("anomaly-detection")
2、安装
从CRAN上安装githubinstall包
install.packages('githubinstall')
githubinstall包的源代码在Github上可见https://github.com/hoxo-m/githubinstall
3、详细资料
githubinstall包提供了若干有用的函数:
- githubinstall 或者 gb_install_packages()
- gh_suggest()
- gh-suggest_username()
- gh-list_packages()
- gh_search_packages()
- gh_show_source()
- gh_update_package_list()
这些函数都有相同的前缀gh。githubinstall()是gh_install_packages()的别名。
在演示这些函数的用法之前,我们先加载下githubinstall包
library(githubinstall)
3.1 从Github上安装R包
给出包名即可,如果只是模糊的记得包名也没关系。
githubinstall("AnomalyDetection")
Suggestion:
- twitter/AnomalyDetection
Do you install the package?
1: Yes (Install)
2: No (Cancel)
Selection:
输入"1",按回车即可开始安装R包。建议安装的R包是通过Github上的R包列表给出的。该列表由Gepuro Task Views提供。
如果有多个候选项,输入相应的数字即可。
githubinstall("cats")
Select one repository or, hit 0 to cancel.
1: amurali2/cats cats
2: danielwilhelm/cats No description or website provided.
3: hilaryparker/cats An R package for cat-related functions #rcatladies
4: lolibear/cats No description or website provided.
5: rafalszota/cats No description or website provided.
6: tahir275/cats ff
Selection:
3.2 给出建议的仓库
githubinstall()会提示你安装建议的R包,但我们可能只想知道都有哪些建议。
gh_suggest()以向量的形式返回建议的仓库名。
gh_suggest("AnomalyDetection")
## [1] "twitter/AnomalyDetection"
gh_suggest("cats")
## [1] "amurali2/cats" "danielwilhelm/cats" "davidluizrusso/cats"
## [4] "hilaryparker/cats" "lolibear/cats" "rafalszota/cats"
## [7] "tahir275/cats"
此外,如果你只是模糊的记得Github用户名的时候,gh-suggest_username()函数非常有用。
gh_suggest_username('hadly')
## [1] "hadley"
gh_suggest_username("yuhui")
## [1] "yihui"
3.3 列出R包
gh_list_packages()函数以数据框的形式返回Github上R包的仓库名列表。例如,你想知道谢大大(谢益辉,统计之都创始人)都开发了哪些R包,运行如下:
yihuiverse <- gh_list_packages(username = "yihui")
head(yihuiverse)
## username package_name title
## 1 yihui MSG Modern Statistical Graphics (my Chinese book)
## 2 yihui Rd2roxygen Convert Rd to roxygen documentation
## 3 yihui animation A gallery of animations in statistics and utilities to create animations
## 4 yihui crandalf Check all reverse dependencies of your R package on Travis CI
## 5 yihui formatR Format R Code Automatically
## 6 yihui fun Use R for Fun
通过返回的结果,我们可以安装谢大大开发的所有R包。
repos <- with(yihuiyverse, paste(username, package_name, sep="/"))
githubinstall(repos)
3.4 通过关键词搜索R包
gh_search_packages()函数返回Github上所有标题包含给定关键词的R包。例如,搜索所有包含lasso关键词的R包,运行如下:
gh_search_packages('lasso')
## username package_name title
## 1 ChingChuan-Chen milr multiple-instance logistic regressi..
## 2 YaohuiZeng biglasso Big Lasso: Extending Lasso Model Fi..
## 3 huayingfang CCLasso CCLasso: Correlation Inference for ..
## 4 mlampros FeatureSelection Feature Selection in R using glmnet..
## 5 pnnl glmnetLRC Lasso and Elastic-Net Logistic Regr..
## 6 statsmaths genlasso Path algorithm for generalized lass..
## 7 vincent-dk logitsgl Fit Logistic Regression with Multi-..
## 8 vincent-dk lsgl Linear Multiple Output Using Sparse..
## 9 vincent-dk msgl High Dimensional Multiclass Classif..
## 10 vstanislas GGEE R Package for the Group Lasso Gene-..
## 11 zdk123 BatchStARS R package for Stability Approach to..
## 12 zdk123 pulsar R package for Stability Approach to..
3.5 显示Github上给定R函数的源代码
gh_show_source()会在Github上查找指定R函数的源代码,并在默认浏览器中显示。
gh_show_source("mutate", "dplyr")
如果加载了该函数所属的R包,直接输入函数名即可。
library(dplyr)
gh_show_source(mutate)
该函数在Safari浏览器上可能有问题。
3.6 更新R包列表
githubinstall包通过Gepuro Task Views获取Github上的R包列表。Gepuro Task Views每天都会爬取Github并更新信息。不过,你可能一直以来都是通过R界面来更新R包。gh_update_list()更新R包的方法如下:
gh_update_package_list()
从Github上轻松安装R包—githubinstall包--转载的更多相关文章
- Linux平台上轻松安装与配置Domino
Linux平台上轻松安装与配置Domino Domino Server的编译安装过程中需要用到libstdc++-2.9和glibc-2.1.1(或者其更高的版本)两个编译模块,它们是Linux开发编 ...
- 安装R语言的包的方法
安装R语言的包的方法: 1. 在线安装 在R的控制台,输入类似install.packages("TSA") # 安装 TSA install.packages("TS ...
- 安装R语言扩展包vegan
这周的作业我开始得好迟啊...然而还是要努力做啊... ××××××××××××××我是萌萌哒分割线×××××××××××××××××××××××××××××××××××× 首先,百度进入官方页面,看 ...
- 在Fedora25上轻松安装Cuda8
http://blog.csdn.net/u010158659/article/details/53592891 Cuda 8对于Pacal架构的英伟达新一代显卡(GTX 1070/1080/Tita ...
- 安装R语言扩展包diveRsity-1
今天去了学院的运动会呢-扮熊本熊超开心-写完这篇我补上我的图么么哒 ××××××××××××文末高能预警!!!!!这个包的安装并不是本周的任务!!!!!我真是萌萌哒×××××××××××××× ××× ...
- 轻松创建R语言函数包
讲真,用R这么几年,始终未尝试过写自己的包,看来这就是我与真正程序员的差距了——编程习惯等于没有. 昨天一个偶然的机会想开始写自己的工具包,发现了前期教程的有一些过时.于是,写一个**windows* ...
- 在github上保存vscode的配置(后续重新安装vscode时,可以十分方便地从github上下载安装这个保存的配置)
1 安装拓展 Settings Sync 在 VSCode 拓展中搜索 Settings Sync 并安装,安装完成后,重启 2 设置 Github Person Access Token 进入这个页 ...
- 安装R的h5包
系统 redhat7 安装H5的包, 依赖系统hdf5包,如下安装完, 发现版本不一致, sudo yum install hdf5-devel 解决办法: 移花接木 sudo ln -s /opt/ ...
- 【转】如何在Mac系统中安装R的rattle包
[转自知乎]:https://www.zhihu.com/question/28944497 1. 安装 xquartz (http://xquartz.macosforge.org)2. 安装 GT ...
随机推荐
- js的class属性获取、增加、移除
2018年4月10日,北京城的第三份工作已经开始,坚信自己在这里能学到很多,加油! 贴代码,昨天回顾了一点js知识: <script> $(function(){ //赋予一个点击事件 $ ...
- SSO详解(转)
转自:http://www.cnblogs.com/EzrealLiu/p/5559255.html 1. 摘要 SSO这一概念由来已久,网络上对应不同场景的成熟SSO解决方案比比皆是,从简单到复杂, ...
- Linux命令(1)——xargs命令
1.功能: xargs能够将stdin中以空格或换行符进行分隔的数据.形成以空格分隔的參数(arguments),传递给其它命令.由于以空格作为分隔符,所以有一些文件名称或者其它意义的名词内含有空格的 ...
- EditText把回车键变成搜索
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/mingyue_1128/article/details/31376159 在xml文件里的EditT ...
- TQ2440系统介绍入门 、linux系统目录结构
TQ2440开发板系统安装步骤: 1.先用JTAG线安装BIOS到开发板.下载BIOS,NOR/NAND开关选在NOR位置. 2.linux安装步骤: (1).格式化分区 (2).安装BIOS---& ...
- select 自动选择 检查下拉列表
下面我们来看一下selenium webdriver是如何来处理select下拉框的,以Apple注册页面为例. https://appleid.apple.com/cgi-bin/WebObject ...
- 关于js的异常
遇到异常,通常会有两种处理办法1.处理异常 try{ //可能出现异常的代码 }catch(e){ //处理异常 } 2.抛出异常 public void getName throws Excepti ...
- 安装java项目开发环境
搭建java 查看本机是否已有java 如果有,请卸载. 下载jdk 复制到服务器中 临时配置你在shell里面改,只是做了临时更改啊,一重启就没了 配置到系统的环境变量里 export JAVA_H ...
- 什么是Java中的原子操作( atomic operations)
1.啥是java的原子性 原子性:即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行. 一个很经典的例子就是银行账户转账问题: 比如从账户A向账户B转1000元,那么 ...
- windows上使用clang编译程序
环境:windows7,64位 1.下载并安装llvm,安装包里除了llvm,也有clang: http://releases.llvm.org/5.0.0/LLVM-5.0.0-win64.exe ...