说明:本手册所列包基本来自AwesomeR ,结合GitHub和help(package="pk_name")
官方文档整理所得,有助于使用时下最实用的包对R进行深入的学习。
其中,标记星星⭐的是本人的必学包,❤为待选包。
致谢,ApacheCN 中文开源组织:致力于官方文档及AI书籍中文翻译。
Common
- R语言入门: ⭐包括Rstudio介绍,R的数据结构和基础语法等
- R语言基础包:⭐base, stats等基础包函数
- R6 and S4:面向对象
- tidyverse:⭐Hadley包集合,核心包(ggplot2,tibble,tidyr,readr,purrr,dplyr)
- data.table:⭐简短的代码实现快速操作数据
- devtools:使开发R包变得更简单(Hadley)
- rpy2:⭐Python 通过rpy2调用 R语言
Syntax
- purrr:⭐函数化编程(FP, functional programming) (Hadley)
- lambda.r:R中的函数式编程和简单模式匹配
- magrittr:⭐Let’s pipe it
- pipeR:多范式管道编程
Import
- readr:⭐快速读取文本型数据(csv,tsv,and fwf).(Hadley)
- readxl:⭐for excel files.(Hadley)
- openxlsx:⭐丰富的excel处理工具
- jsonlite:⭐JSON处理.(Hadley)
- haven:for SPSS,SAS and Stata files.(Hadley)
- feather:⭐for sharing with Python and other languages.(Hadley)
DATABASE MANAGEMENT
- DBI:⭐数据库统一接口(Hadley)
- RHive:⭐通过Apache Hive促进分布式计算的R扩展
WEB TECHNOLOGIES
- RCurl:用于R的通用网络(HTTP/FTP/ …)接口
- httr:⭐for web APIs (RCurl封装) (Hadley)
- rvest:⭐web scraping (Hadley)
- xml2:⭐解析XML文件 (Hadley)
Tidy+Transform
DATA MANIPULATION
- tidyr:⭐清理数据,reshape2替代版(Hadley)
- dplyr and plyr:⭐数据操作(Hadley)
- rlist:用于list(非规整)数据操作工具箱
- stringr:⭐for strings.(Hadley)
- utf8:处理和修复R中的多种文本编码问题
- 正则表达式:⭐Regular Expression
- lubridate:⭐for date and times(Hadley)
- hms:⭐for times(Hadley)
- forcats:⭐for factors(Hadley)
- sjmisc:各种实用功能的集合,支持数据重编码,缺失值处理等,与dplyr包无缝协作。
- naniar:⭐缺失数据概述和可视化
- simputation:⭐缺失数据插补框架
LARGE DATASETS
- ff:在内存外存储数据,处理起来和在内存一样
- bigmemory:内存外存储,操作,big 系列包提供了其他工具,包括线性模型 (biglm) 和随机森林 (bigrf)。
Visualise
GRAPHIC DISPLAYS
- RColorBrewer and extrafont:⭐调色板和字体
- ggplot2:⭐强大的绘图系统,并实现了许多扩展(Hadley)
- ggplot2 extensions: ggplot2扩展,包括各种补充图形,坐标系统,主题等。
- ggmap+baidumap:⭐使用ggplot2在R中绘制静态地图
- ggpubr:⭐ggplot2封装,用于绘制适合出版物要求的图形
- corrplot:❤相关矩阵或一般矩阵的图形显示
- misc3d:处理3D图,等值面等
HTML WIDGETS
- leaflet+leafletCN:❤最流行的JavaScript库交互式地图之一,动态交互地图。
- Remap:⭐简易动态交互地图(基于Echarts)。
- rCharts:❤来自R的交互式JS图表。
- DiagrammeR:在R中创建JS图形和流程图。
- rbokeh:R与Bokeh的接口。
- plotly:❤R的交互式图形库,基于ggplot2 和shiny。
Parallel Computing
- foreach:⭐在循环(loop)中并行化运算
MapReduce
- SparkR:Spark的R前端
- sparklyr:⭐来自RStudio的Apache Spark的R接口,提供dplyr后端
Model Tools
Machine Learning
- mlr:⭐机器学习(分类,回归,生存分析,聚类等)的可扩展框架,提供了用于分析的整套工具,包括重抽样,缺失值插补,模型评估(cv,etc),超参数调优(grid-search,etc),特征选择,可视化(ROC,learnning-curve,etc)等
- mlapi:提供模型的统一接口,以便机器学习流程化(借鉴python scikit-learn,尚未开发完整)
- xgboost:⭐以其速度和性能而著称的eXtreme Gradient Boosting Tree模型
- arules:⭐关联规则挖掘和频繁项集
- survival:生存分析模型
- nnet:神经网络
Deep Learning
- tensorflow:⭐Google开源的最受欢迎的深度学习框架
- h2o:h2o包是实现并行分布式大数据计算的深度学习包
- keras:❤以 tensorflow/theano/CNTK 为后端的深度学习封装库
NLP (Natural Language Processing)
- jiebaR:⭐中文分词包
- Rwordseg:中文分词包,安装复杂
- wordcloud2:⭐词云
- tm: 一个全面的文本挖掘框架
- quanteda:❤文本数据的定量分析
- tidytex:简单文本挖掘,结合dplyr,ggplot2和其他简洁工具
- text2vec:⭐一个快速文本挖掘框架(jiebaR推荐包)
Time Series
- zoo:⭐定义了规则和不规则时间序列S3类
- xts:❤对时间序列数据(zoo)的一种扩展实现,统一时间序列的操作接口
- prophet:⭐线性或非线性模型高质量时间序列预测,它最适合日常数据
- forecast:⭐时间序列建模和预测
- forecastHybrid:⭐结合forcast包时间序列模型混合预测
- CausalImpact:使用贝叶斯结构时间序列模型进行因果推理
Finance
- quantmod:定量金融建模与交易框架(股票)
- PerformanceAnalytics:用于性能和风险分析的计量经济学工具
Communicate
- rmarkdown:⭐用于创建可重复性报告和动态文档
- Markdown编辑器推荐和语法(StackEdit)
- rticles:提供了一套RMarkdown模板
- flexdashboard:基于rmarkdown,可以轻松的创建仪表盘
- slidify:从Rmarkdown生成可重现的html5幻灯片
- knitr:用于在PDF和HTML文档中嵌入R代码块
- shiny:⭐使用R语言开发交互式web应用程序的工具
Other Useful Lists
- Advanced R ⭐
- R packages ⭐
- R for Data Science ⭐
- AwesomeR:⭐ R包大全
- RStudio Cheat Sheets ⭐
- TaskViews:CRAN Task Views
- Search:Google search engine
- GitHub:⭐Built for developers
- R和Python参考卡片