R成精系列-R语言的常用的包

       在学习R的时候,R的包众多,很多时候对于初学者会造成很大的困扰就是不知道用什么样的包比较合适。我会在不断使用R的过程中,进行使用同时结合使用体验为大家推荐合适的R包。避免重复学习,以节约时间。

lastupdate:2019来来10月15日

本文章停止更新了,如需看最新文章,请访问:https://www.homeworkdone.net/article/4.html

        标了【精】的是需要重点研究和掌握的包。

1、数据导入

以下R包主要用于数据导入和保存数据

feather:一种快速,轻量级的文件格式。在R和python上都可使用

【精】readr:实现表格数据的快速导入。https://readr.tidyverse.org

readxl:读取Microsoft Excel电子表格数据

openxlsx:读取Microsoft Excel电子表格数据

googlesheets:读取google电子表格数据

haven:读取SAS,SPSS和Stata统计软件格式的数据

httr:从网站开放的API中读取数据,httr也是Hadley大神的作品之一。官方简介

rvest:网页数据抓取包

xml2:读取HTML和XML格式数据

Rselenium:Selenium也是一个用于Web应用程序测试的工具,Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。RSelenium是通过调用Selenium Sever来模拟浏览器环境,实现爬虫功能。官方网址

webreadr:读取常见的Web日志格式数据

DBI:数据库管理系统通用接口包

RMySQL:用于连接MySQL数据库的R包

RPostgres:用于连接PostgreSQL数据库的R包

ROracle:连接Oracle数据库的R包,依赖于DBI包,详见

bigrquery用于连接Google BigQuery的R包

PivotalR:用于读取Pivitol(Greenplum)和HAWQ数据库中的数据

dplyr:提供了一个访问常见数据库的接口

data.table:data.table包的fread()函数可以快速读取大数据集

git2r:用于访问git仓库

rlist:处理list数据的包 介绍

2、数据整理

以下R包主要用于数据整理,以便于你后续建模分析:

【精】tidyr:用于整理表格数据的布局

【精】dplyr:用于将多个数据表连接成一个整齐的数据集

purrr:函数式编程工具,在做数据整理时非常有用。

broom:用于将统计模型的结果整理成数据框形式

zoo:定义了一个名zoo的S3类型对象,用于描述规则的和不规则的有序的时间序列数据。

3、文本处理

jiebaR:中文分词工具,github地址说明文档

cidian:字典转换工具 , github地址

4、数据可视化

以下R包用于数据可视化:

【精】ggplot2及其扩展:ggplot2包提供了一个强大的绘图系统,并实现了以下扩展

ggthemes:提供扩展的图形风格主题

ggmap:提供Google Maps,Open Street Maps等流行的在线地图服务模块

ggiraph:绘制交互式的ggplot图形

ggstance:实现常见图形的横向版本

GGally:绘制散点图矩阵

ggalt:添加额外的坐标轴,geoms等

【精】ggpubr: 生成杂志期刊等出版物的图形的包,是ggplot的一个补充。

ggforce:添加额外geoms等

ggrepel:用于避免图形标签重叠,美化ggplot;

ggraph:用于绘制网络状、树状等特定形状的图形,用于绘制网络图等;

ggpmisc:光生物学相关扩展

geomnet:绘制网络状图形

ggExtra:绘制图形的边界直方图

gganimate:绘制动画图

plotROC:绘制交互式ROC曲线图

ggspectra:绘制光谱图

ggnetwork:网络状图形的geoms

ggradar:绘制雷达图

ggTimeSeries:时间序列数据可视化

ggtree:树图可视化

ggseas:季节调整工具

lattice:生成栅栏图

rgl:交互式3D绘图

ggvis:交互式图表多功能系统

htmlwidgets:一个专为R语言打造的可视化JS库,R的js接口,可以通过它打通R代码和JS库之间的通道,使R可以轻松使用丰富的JS库。

leaflet:绘制交互式地图

dygraphs:绘制交互式时间序列图,利用htmlwidgets开发的时间序列交互图形RStudio出品。

plotly:交互式绘图包,中文介绍详见这里

rbokeh:用于创建交互式图表和地图,中文介绍

Highcharter:绘制交互式Highcharts图

visNetwork:绘制交互式网状图

networkD3:绘制交互式网状图

d3heatmap:绘制交互式热力图,中文介绍

DT:用于创建交互式表格

threejs:绘制交互式3d图形和地球仪

rglwidget:绘制交互式3d图形

DiagrammeR:绘制交互式图表

MetricsGraphics:绘制交互式MetricsGraphics图

rCharts:提供了对多个javascript数据可视化库(highcharts/nvd3/polychart)的R封装。

recharts:Recharts是百度echarts的接口封装,目前有recharts,echartr等。ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖轻量级的矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。

coefplot:可视化统计模型结果

【精】quantmod:可视化金融图表

colorspace:基于HSL的调色板

viridis:Matplotlib viridis调色板

munsell:Munsell调色板

RColorBrewer:图形调色板

igraph:用于网络分析和可视化,分析网络图;

tidygraph:用于网络分析的图形化工具,分析网络图等。github地址

latticeExtra:lattice绘图系统扩展包

sp:空间数据工具;

【精】Complexheatmap:bioconductor出品的热图绘制工具,目前是我用过的最好用的热图绘制工具;

5、数据转换

以下R包用于将数据转换为新的数据类型

dplyr:一个用于高效数据清理的R包。视频学习课程

magrittr:一个高效的管道操作工具包。

tibble:高效的显示表格数据的结构

stringr:一个字符串处理工具集

lubridate:用于处理日期时间数据

xts:xts是对时间序列数据(zoo)的一种扩展实现,提供了时间序列的操作接口。

data.table:用于快速处理大数据集

vtreat:一个对预测模型进行变量预处理的工具

stringi:一个快速字符串处理工具

Matrix:著名的稀疏矩阵包

6、统计建模与推断

下述R包是统计建模最常用的几个R包,其中的一些R包适用于多个主题。

car:提供了大量的增强版的拟合和评价回归模型的函数。

Hmisc:提供各种用于数据分析的函数

multcomp:参数模型中的常见线性假设的同时检验和置信区间计算,包括线性、广义线性、线性混合效应和生存模型。

pbkrtest用于线性混合效应模型的参数Bootstrap检验

MatrixModels:用于稠密矩阵和稀疏矩阵建模

mvtnorm:用于计算多元正态分布和t分布的概率,分位数,随机偏差等

SparseM:用于稀疏矩阵的基本线性代数运算

lme4:利用C++矩阵库 Eigen进行线性混合效应模型的计算。

broom:将统计模型结果整理成数据框形式

caret:一个用于解决分类和回归问题的数据训练综合工具包

glmnet:通过极大惩罚似然来拟合广义线性模型

gbm:用于实现随机梯度提升算法

xgboost:全称是eXtreme Gradient Boosting。是Gradient Boosting Machine的一个c++实现。目前已制作了xgboost工具的R语言接口。详见统计之都的一篇介绍

randomForest:提供了用随机森林做回归和分类的函数

ranger:用于随机森林算法的快速实现

h2o:H2O是0xdata的旗舰产品,是一款核心数据分析平台。它的一部分是由R语言编写的,另一部分是由Java和Python语言编写的。用户可以部署H2O的R程序安装包,之后就可以在R语言环境下运行了。

ROCR:通过绘图来可视化分类器的综合性能。

pROC:用于可视化,平滑和对比ROC曲线

7、机器学习

H2O:H2O是开源的机器学习算法包;

factoextra:多变量分析以及其图形化;Factoextra R Package: Easy Multivariate Data Analyses and Elegant Visualization - Easy Guides - Wiki - STHDA

Rstan:Stan概率编程语言的R语言接口,stan的数学库提供了可微的概率函数和线性代数(C ++ autodiff),R包中还提供了基于表达式的线性建模,后验概率可视化和留一法交叉验证。

Rstan介绍

8、沟通交流

以下R包用于实现数据科学结果的自动化报告,以便于你跟人们进行沟通交流。

rmarkdown :用于创建可重复性报告和动态文档

knitr:用于在PDF和HTML文档中嵌入R代码块

flexdashboard:基于rmarkdown,可以轻松的创建仪表盘

bookdown:以R Markdown为基础,用于创作书籍和长篇文档

rticles:提供了一套R Markdown模板

tufte:用于实现Tufte讲义风格的R Markdown模板

DT:用于创建交互式的数据表

pixiedust:用于自定义数据表的输出

xtable:用于自定义数据表的输出

highr:用于实现R代码的LaTeX或HTML格式输出

formatR:通过tidy_source函数格式化R代码的输出

yaml:用于实现R数据与YAML格式数据之间的通信。

9、自动化分析

以下R包用于创建自动化分析结果的数据科学产品:

shiny:一个使用R语言开发交互式web应用程序的工具。中文教程

shinydashboard:用于创建交互式仪表盘

shinythemes:给出了Shiny应用程序的常用风格主题

shinyAce:为Shiny应用程序开发者提供Ace代码编辑器。

shinyjs:用于在Shiny应用程序中执行常见的JavaScript操作

miniUI:提供了一个UI小部件,用于在R命令行中集成交互式应用程序

shinyapps.io:为创建的Shiny应用程序提供托管服务

Shiny Server Open Source:为Shiny应用程序提供开源免费的服务器

Shiny Server Pro:为企业级用户提供一个Shiny应用程序服务器

rsconnect:用于将Shiny应用程序部署到shinyapps.io

plumber:由Rstudio开发,用于将R代码转化为一个web API,供其他应用访问,可以用R快速构建web应用。官方地址:https://www.rplumber.io

rmarkdown:用于创建可重复性报告和动态文档

rstudioapi:用于安全地访问RStudio IDE的API

10、程序开发

以下这些包主要用于开发自定义的R包:

【精】RStudio Desktop IDE:R的IDE。大家都懂,不用解释。

RStudio Server Open Source:开源免费的RStudio服务器

RStudio Server Professional:商业版RStudio服务器

devtools:一个让开发R包变得简单的工具集

packrat:创建项目的特定库,用于处理包的版本问题,增强代码重现能力。

drat:一个用于创建和使用备选R包库的工具

testthat:单元测试,让R包稳定、健壮,减少升级的痛苦。

roxygen2:通过注释的方式,生成文档,远离Latex的烦恼。

purrr:一个用于 提供函数式编程方法的工具

profvis:用于可视化R代码的性能分析数据

Rcpp:用于实现R与C++的无缝整合。详见统计之都文章

R6:R6是R语言的一个面向对象的R包,可以更加高效的构建面向对象系统。

htmltools:用于生成HTML格式输出

nloptr:提供了一个NLopt非线性优化库的接口

minqa:一个二次近似的优化算法包

rngtools:一个用于处理随机数生成器的实用工具

NMF:提供了一个执行非负矩阵分解的算法和框架

crayon:用于在输出终端添加颜色

RJSONIO:rjson是一个R语言与json进行转的包,是一个非常简单的包,支持用 C类库转型和R语言本身转型两种方式。

jsonlite:用于实现R语言与json数据格式之间的转化

RcppArmadillo:提供了一个Armadillo C++ Library(一种C++的线性代数库)的接口

11、实验数据

以下R包给出了案例实战过程中可用的训练数据集:

babynames:包含由美国社会保障局提供的三个数据集

neiss:2009-2014年期间提供给美国急诊室的所有事故报告样本数据

yrbss:美国疾病控制中心2009-2013年期间青年危险行为监测系统数据

hflights:

USAboundaries:2011年全年休斯顿机场的所有航班数据

rworldmap:国家边界数据

usdanutrients:美国农业部营养数据库

fueleconomy:美国环保署1984-2015年期间的燃油经济数据

nasaweather:包含了一个覆盖中美洲的非常粗糙的24*24格地理位置和大气测量数据。

mexico-mortality:墨西哥死亡人数数据

data-movies和ggplotmovies:来自互联网电影数据库imdb.com的数据

pop-flows:2008年全美人口流动数据

data-housing-crisis:经过清洗后的2008美国房地产危机数据

gun-sales:纽约时报提供的有关枪支购买的每月背景调查统计分析数据

stationaRy:从成千上万个全球站点收集到的每小时气象数据

gapminder:摘自Gapminder的数据

janeaustenr:简·奥斯丁小说全集数据

参考

本文章停止更新了,如需看最新文章,请访问:https://www.homeworkdone.net/article/4.html

AwesomeR

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,425评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,058评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,186评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,848评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,249评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,554评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,830评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,536评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,239评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,505评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,004评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,346评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,999评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,060评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,821评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,574评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,480评论 2 267

推荐阅读更多精彩内容

  • R语言包的安装 参考文章 在R中大概有几种包的安装方式。 install.packages()常规包的安装 括号里...
    天涯清水阅读 12,737评论 0 21
  • 1.数据导入 以下R包主要用于数据导入和保存数据: feather:一种快速,轻量级的文件格式;在R和python...
    雨一流阅读 1,261评论 0 9
  • ECharts,是百度的一个开源的数据可视化工具,一个纯 Javascript 的图表库。echarts4r包是E...
    FTDdata阅读 34,112评论 0 15
  • R中文方面的资料还远不如英文,以后会不定期更新一些R的官方文档。文档基于Google翻译+人工矫正。下文是rlea...
    果果哥哥BBQ阅读 5,023评论 0 5
  • 表情是什么,我认为表情就是表现出来的情绪。表情可以传达很多信息。高兴了当然就笑了,难过就哭了。两者是相互影响密不可...
    Persistenc_6aea阅读 120,505评论 2 7