Skip to content

A curated list of awesome R packages, frameworks and software.

Notifications You must be signed in to change notification settings

yunxileo/awesome-R

 
 

Repository files navigation

Awesome R 中文版(ZH_CN)

Awesome

这里有很多非常不错的R包和工具. 该想法来自于awesome-machine-learning.

这里是包的导航清单,看起来更方便 https://awesome-r.com

heart

for [Top 50](https://github.com/rstudio/RStartHere/blob/master/top_downloads_2016/top_packages) CRAN downloaded packages or repos with 400+

star

Integrated Development Environments

集成开发环境

  • RStudio heart - 一个非常强大高效的图形界面开发环境,可以在Windows, Mac, 和Linux运行.
  • Emacs + ESS - ESS是一个emacs文本编辑器的一个统计分析的插件.
  • Sublime Text + R-Box - 一个在Sublime 2/3中使用R语言编程的插件.
  • TextMate + r.tmblundle - TextMate 1/2的插件.
  • StatET - 一个基于Eclipse的R语言IDE.
  • Revolution R Enterprise - 专注于大数据,大规模多处理器的功能,可以对学术用户免费提供和商业使用.
  • R Commander - 一个包括基本图形用户界面的R包.
  • IRkernel heart - Jupyter的R语言内核.
  • Deducer - 一个菜单驱动的数据分析的GUI工具,类似电子表格数据编辑器.
  • Radiant - 一个使用R语言,独立的基于浏览器接口的业务分析平台,基于Shiny。
  • Vim-R - Vim中R语言插件.
  • Nvim-R - Neovim中R语言插件.
  • JASP - 一个完整的贝叶斯和概念论相关方法的R包,和使用SPSS非常相似。
  • Bio7 - 一个包括创建,科学图像分析和统计分析的IDE.
  • RTVS - Visual Studio中R开发工具.

Syntax

改变你使用R方式的包

  • magrittr heart - 一个R语言高效的管道操作包.
  • pipeR - 多泛型管道的实现.
  • lambda.r - R语言中函数式编程和简单的模式匹配.
  • purrr - 一个高级函数编程语言包.

Data Manipulation

数据处理相关的包

  • dplyr heart - 快速数据操作和数据库查询.
  • data.table heart - 使用短小灵活的语法操作数据.
  • reshape2  heart - 灵活的数据排列,聚合处理.
  • readr - 一个快速简单的读取表格数据到R中的包.
  • haven - 对导入SPSS,STATA和SAS的文件进行改进.
  • tidyr - 方便对数据进行整理、传播和收集.
  • broom - 将统计分析对象转换成整齐的数据框(一种数据组织和呈现的方式).
  • rlist - 一个操作非规范化数据的工具箱.
  • jsonlite - 一个快速解析JSON文件的包.
  • ff - 设计用来存储大型数据集的数据结构.
  • lubridate - 一组日期和时间函数.
  • stringi heart - 基于ICU的字符串处理方案.
  • stringr heart - 基于stringi之上的对字符串处理API.
  • bigmemory - 提供共享内存和内存映射矩阵,同时也包提供额外的工具,包括线性模型.(biglm) 和随机森林 (bigrf).
  • fuzzyjoin - 使用不精确匹配的方式连接表数据.
  • tidyverse - 简单从tidyverse下载和安装包.

Graphic Displays

Packages for showing data.

  • ggplot2 heart - 强大的绘图统计和计算图形系统的实现.强烈推荐.
  • ggfortify -一个ggplot2(流行的统计软件包)统一的接口(使用一行代码即可).A unified interface to ggplot2 popular statistical packages using one line of code.
  • ggrepel - 排除重叠的文本标签.
  • ggalt - ggplot2额外的坐标系统,几何和统计.
  • ggtree - 可视化和注释的系统树.
  • ggplot2 Extensions - ggplot2扩展显示例子.
  • lattice - 一个强大优雅的高级数据可视化系统.
  • corrplot - 图形显示相关矩阵或一般矩阵。它还包含一些矩阵重新排序算法.
  • rgl - R中3D可视化系统.
  • Cairo - 一个使用cairo组件创建高质量显示输出的R图形包.
  • extrafont - 在R中图像中使用字体的工具.
  • showtext - 让R图形设备显示文本的时候使用系统字体.
  • animation - 一个使用 ImageMagick在R中产生动画图形的工具.
  • gganimate - 用ggplot2创建简单的动画.
  • misc3d - 强大的3D绘图工具.
  • xkcd - 在图表中使用xkcd风格.
  • imager - 一个基于CImg库的图像处理包.

HTML Widgets

Packages for interactive visualizations.

  • d3heatmap - 使用D3绘制互动的热图.
  • DataTables - 将R矩阵或数据框作为交互的HTML表
  • DiagrammeR heart - 在R中创建JS图表和流程图.
  • dygraphs - 在R中绘制时间序列数据图形.
  • formattable - 可格式化的数据结构.
  • ggvis - R中交互式的图形处理语法.
  • Leaflet - 一个非常流行的交互式地图JavaScript组件.
  • MetricsGraphics - 可以轻松创建D3散点图、折线图和直方图.
  • networkD3 - D3 JavaScriptR网络图.
  • scatterD3 - D3 互动散点图.
  • plotly heart - 使用plot.ly进行交互式ggplot2和Shiny绘图.
  • rCharts heart - 交互式JS绘图.
  • rbokeh - Bokeh的R接口.
  • threejs - 交互式3D散点图和地球仪.
  • timevis - 创建完全交互式的时间轴可视化图形.
  • visNetwork - 使用vis.js类库进行网络可视化.

Reproducible Research

Packages for literate programming.

  • knitr heart - R中简单的动态报表生成工具.
  • xtable - 将表格导出到LaTeX或者HTML.
  • rapport - 一个R模版系统.
  • rmarkdown heart - R动态文档工具.
  • slidify - 创建和发布漂亮的html5展示效果.
  • Sweave - 使用R创建LaTeX报表的R包.
  • texreg - 在LaTex和HTML中格式化统计模型.
  • checkpoint - 从检查点快照服务器安装包.
  • brew - 报告模板的生成框架.可以和knitr合并.
  • ReporteRs - 一个生成微软Word, PowerPoint和HTML报表的R包.
  • bookdown - 使用R Markdown编写书籍.
  • ezknitr - 避免使用'knitr'带来的工作目录的痛苦.

Web Technologies and Services

Packages to surf the web.

  • Web Technologies List - 关于如何使用R和网络的相关信息.
  • shiny heart - 使用R创建简单的Web交互应用.
  • RCurl - 常规的网络客户端接口 (HTTP/FTP/...) .
  • httr heart - 使用更加友好的RCurl封装.
  • httpuv - HTTP和WebSocket服务程序.
  • XML heart - R中生成和解析XML的工具.
  • rvest heart - 简单的web信息抓取,使用CSSSelect 和 XPath 语法.
  • OpenCPU heart - HTTP API.
  • Rfacebook - Facebook API.
  • RSiteCatalyst - Adobe 分析服务的R语言客户端.
  • plumber - 一个将现有的R代码转换为API的包.

Parallel Computing

Packages for parallel computing.

  • parallel - R语言高性能的并行计算平台. multicore and snow.
  • Rmpi - Rmpi对MPI APIS提供了一个包装过的接口,它也提供一个交互式的R环境.
  • foreach heart - 使用并行来执行循环.
  • SparkR heart - R for Spark.
  • DistributedR - 一个来自惠普Vertica Analytics团队的可伸缩的高性能平台.
  • ddR - 提供分布式数据结构,简化了R中的分布式计算.
  • sparklyr - 来自RStudio的Spark接口.

High Performance

Packages for making R faster.

  • Rcpp heart - Rcpp在R中提供了一个高效的API,使得函数更快执行.
  • Rcpp11 - Rcpp11完全重新设计,以C++11为目标.
  • compiler - 使用JIT提高R代码的速度.

Language API

Packages for other languages.

  • rJava - R语言对JAVE接口.
  • jvmr - 集成了R, Java, and Scala.
  • rJython - R语言对Python/Jython的接口.
  • rPython - 允许R调用Python.
  • runr - 在R中运行Julia和Bash.
  • RJulia - R中调用Julia.
  • RinRuby - 一个Ruby库,整合了R用Ruby解释器.
  • R.matlab - 读写mat文件,将R和Matlab连接到一起.
  • RcppOctave -Octave and Matlab的接口.
  • RSPerl - 双向接口,R中调用Perl和在Perl中调用R.
  • V8 - 嵌入JavaScript引擎.
  • htmlwidgets - R中把JavaScript数据可视化的最好方法.
  • rpy2 - Python对R的接口.

Database Management

Packages for managing data.

  • RODBC - R中ODBC数据库范围.
  • DBI - 在R和数据库管理系统之间定义一个公共的接口.
  • elastic - Elasticsearch HTTP API的包装器.
  • mongolite - R中Mongo客户端.
  • RMySQL - R语言的MySQL数据库接口.
  • ROracle - R中Oracle数据库的接口.
  • RPostgreSQL - R语言的PostgreSQL数据库系统接口.
  • RSQLite - R语言SQLite数据库接口.
  • RJDBC - 通过JDBC接口访问数据库.
  • rmongodb - R中MongoDB驱动.
  • rredis - R中Redis驱动.
  • RCassandra -Apache Cassanda直接接口(不是JAVA),提供了最多的基本功能.
  • RHive - 通过Apache Hive的R扩展促进分布式计算.
  • RNeo4j - Neo4j图形数据库驱动.

Machine Learning

Packages for making R cleverer.

  • AnomalyDetection heart - 来自Twitter的AnomalyDetection R包.
  • ahaz - 半参数添加风险回归的正则化.
  • arules - 挖掘关联规则和频繁项集.
  • bigrf - 大随机森林:大型数据集的分类和回归森林.
  • bigRR - 广义回归(特殊是在p >> n情况下).
  • bmrm - 风险最小化方案的正规化方法.
  • Boruta - 所有相关的特征选择算法的一个封装
  • BreakoutDetection - Breakout Detection via Robust E-Statistics from Twitter.[暂时不明真相]
  • bst - 梯度增加.
  • CausalImpact - 利用贝叶斯时间序列结构模型进行因果推断.
  • C50 - C5.0决策树和基于规则的模型.
  • caret heart - 分类和回归训练.
  • Clever Algorithms For Machine Learning
  • CORElearn - 分类、回归、特征评价和排序.
  • CoxBoost - Cox models by likelihood based boosting for a single survival endpoint or competing risks.
  • Cubist - 规则和基于实例的回归建模
  • e1071 - Misc统计函数 (e1071),主要功能有类别分析、傅里叶变换,模糊聚类,支持向量机,最短路径计算,朴素贝叶斯分类器等等.
  • earth - 多元自适应回归模型.
  • elasticnet - 稀疏估计和稀疏主成分分析.
  • ElemStatLearn - 书籍"The Elements of Statistical Learning, Data Mining, Inference, and Prediction"中的数据集,函数和例子.
  • evtree - 全局最优树的进化学习.
  • forecast - 使用ARIMA, ETS, STLM, TBATS,和神经网络进行时间序列预测.
  • forecastHybrid - 使用"forecast"包对ARIMA, ETS, STLM, TBATS,和神经网络模型进行交叉检验.
  • FSelector - 一个基于subset-search或特性排名方法的特征选择框架.
  • frbs - 使用模糊规则系统处理分类和回归的任务.
  • GAMBoost -  基于广义线性和加法模型.
  • gamboostLSS - GAMLSS方法的改善.
  • gbm - 改善广义线性模型.
  • glmnet heart - Lasso 和 elastic-net正规化广义线性模型.
  • glmpath - L1 Regularization Path for Generalized Linear Models and Cox Proportional Hazards Model
  • GMMBoost - 广义混合模型.
  • grplasso - Fitting user specified models with Group Lasso penalty
  • grpreg - Regularization paths for regression models with grouped covariates.
  • h2o heart - Deeplearning, Random forests, GBM, KMeans, PCA, GLM
  • hda - 异方差判别分析.
  • ipred - 预测器改进.
  • kernlab - kernlab: 基于内核学习的机器实验室.
  • klaR - 分类和可视化.
  • kohonen - 监督和非监督自组织映射.
  • lars - Least Angle Regression, Lasso and Forward Stagewise
  • lasso2 - L1 constrained estimation aka ‘lasso’
  • LiblineaR - 基于C/C++库的线性预测模型.
  • lme4 heart - Mixed-effects models
  • LogicReg - 逻辑回归模型.
  • maptree - 映射、修剪和图形树模型.
  • mboost - Model-Based Boosting
  • Machine Learning For Hackers
  • mvpart - Multivariate partitioning
  • MXNet heart - MXNet brings flexible and efficient GPU computing and state-of-art deep learning to R.
  • ncvreg - Regularization paths for SCAD- and MCP-penalized regression models
  • nnet - eed-forward Neural Networks and Multinomial Log-Linear Models
  • oblique.tree - Oblique Trees for Classification Data
  • pamr - Pam: 小矩阵预测分析.
  • party - A Laboratory for Recursive Partytioning
  • partykit - A Toolkit for Recursive Partytioning
  • penalized - L1 (lasso and fused lasso) and L2 (ridge) penalized estimation in GLMs and in the Cox model
  • penalizedLDA - Penalized classification using Fisher's linear discriminant
  • penalizedSVM - 使用惩罚函数的特征选择支持向量机.
  • quantregForest - quantregForest: Quantile Regression Forests
  • randomForest - 随机森林: Breiman and Cutler's random forests for classification and regression.
  • randomForestSRC - randomForestSRC: Random Forests for Survival, Regression and Classification (RF-SRC).
  • rattle - 图形界面式的数据挖掘工具.
  • rda - Shrunken Centroids Regularized Discriminant Analysis
  • rdetools - Relevant Dimension Estimation (RDE) in Feature Spaces
  • REEMtree - Regression Trees with Random Effects for Longitudinal (Panel) Data
  • relaxo - Relaxed Lasso
  • rgenoud - R version of GENetic Optimization Using Derivatives
  • rgp - R基因编程框架.
  • Rmalschains - 使用本地文化基因算法进行连续问题优化.[这里翻译不准]. Search Chains (MA-LS-Chains) in R
  • rminer - 在分类和回归问题中简单的使用数据挖掘方法(如神经网络和支持向量机).
  • ROCR - 可视化评分分类器的性能.
  • RoughSets - 使用粗糙集和模糊粗糙集理论进行数据分析.
  • rpart - Recursive Partitioning and Regression Trees
  • RPMM - Recursively Partitioned Mixture Model
  • RSNNS - Neural Networks in R using the Stuttgart Neural Network Simulator (SNNS)
  • Rsomoclu - Parallel implementation of self-organizing maps.
  • RWeka - Weka的R接口(Weka是基于JAVA环境下开源的机器学习以及数据挖掘软件).
  • RXshrink - RXshrink: Maximum Likelihood Shrinkage via Generalized Ridge or Least Angle Regression
  • sda - Shrinkage Discriminant Analysis and CAT Score Variable Selection
  • SDDA - Stepwise Diagonal Discriminant Analysis
  • SuperLearner and subsemble - Multi-algorithm ensemble learning packages.
  • svmpath - svmpath: the SVM Path algorithm
  • tgp - Bayesian treed Gaussian process models
  • tree - 分类和回归树.
  • varSelRF - 使用随机森林进行变量选择.
  • xgboost heart - eXtreme Gradient Boosting Tree model, well known for its speed and performance.

Natural Language Processing

Packages for Natural Language Processing.

  • text2vec - 一个快速文本挖掘框架。 Fast Text Mining Framework for Vectorization and Word Embeddings.
  • tm - 一个全面的文本挖掘框架.
  • openNLP - Apache OpenNLP工具接口.
  • koRpus - 一个文本分析的R包.
  • zipfR - 词频分布统计模型.
  • NLP - 基本自然语言处理功能.
  • LDAvis - 主题模型的交互式可视化.
  • topicmodels - Topic modeling interface to the C code developed by by David M. Blei for Topic Modeling (Latent Dirichlet Allocation (LDA), and Correlated Topics Models (CTM)).
  • syuzhet - Extracts sentiment from text using three different sentiment dictionaries.
  • SnowballC - Snowball stemmers based on the C libstemmer UTF-8 library.
  • quanteda - 文本数据的定量分析.
  • Topic Models Resources - 主题模型的学习和R相关资源.
  • NLP for :cn: - NLP related resources in R. @Chinese

Bayesian

Packages for Bayesian Inference.

  • coda - 输出MCMC(马尔可夫链蒙特卡尔理论)的分析和诊断信息.
  • mcmc - 马尔可夫链蒙特卡尔理论(MCMC).
  • MCMCpack - 马尔可夫链蒙特卡尔理论 (MCMC).
  • R2WinBUGS - 在在R/S-PLUS中打开WinBUGS 和 OpenBUGS.
  • BRugs - OpenBUGS MCMC 软件的R接口.
  • rjags - JAGS MCMC组件的R接口.
  • rstan heart - Stan MCMC软件的R接口.

Optimization

Packages for Optimization.

  • minqa - Derivative-free optimization algorithms by quadratic approximation.
  • nloptr - 一个免费开源的非线性最优化程序包.
  • lpSolve - Lp_solve解决线性和整形问题的R接口.

Finance

Packages for dealing with money.

  • quantmod heart - 定量金融模型和交易框架.
  • TTR - 技术交易规相关的数据和功能函数.
  • PerformanceAnalytics - 计量经济学性能和风险分析工具.
  • zoo heart - S3 Infrastructure for Regular and Irregular Time Series.
  • xts - 可扩展的时间序列.
  • tseries - 金融时间序列分析和计算.
  • fAssets - 金融资产分析和建模.

Bioinformatics

Packages for processing biological datasets.

  • Bioconductor heart - 用于分析和理解高通量基因组数据的工具.
  • genetics - 处理基因数据的R包.
  • gap - 一个人口家庭遗传数据分析的综合工具.
  • ape - 分子系统学和进化分析.
  • pheatmap - 一个使用简单的热图工具.
  • ddpcr - Analysis and visualization of Droplet Digital PCR data.

Network Analysis

Packages to construct, analyze and visualize network data.

  • Network Analysis List - 网络分析相关资源.
  • igraph heart - 一个网络分析工具集合.
  • network - 一个操作数据关系的基本工具.
  • sna - 基本的网络测量和可视化工具.
  • netdiffuseR - 网络扩散的分析工具.
  • networkDynamic - 支持动态和时序网络.
  • ndtv - 构建动画的可视化动态网络工具,支持多种数据格式.
  • statnet - 大量网络数据的分析,仿真和可视化工具.
  • ergm - 指数随机图模型.
  • latentnet - Latent position and cluster models for network objects.
  • tnet - Network measures for weighted, two-mode and longitudinal networks.
  • rgexf - 从R导出网络对象到GEXF, for manipulation with network software like Gephi or Sigma.
  • visNetwork - 使用vis.js类库进行网络可视化.

R Development

Packages for packages.

  • Package Development List - 提高整体开发能力的包.
  • devtools heart - 然R开发人员的生活变得更简单的工具.
  • testthat heart - 一个R包测试工具.
  • R6 heart - simpler, faster, lighter-weight alternative to R's built-in classes.
  • pryr heart - Make it easier to understand what's going on in R.
  • roxygen heart - 在函数定义中描述说明.
  • lineprof - R中在线分析结果可视化.
  • packrat - 让R项目更加简单,便携和可重构的工具.
  • installr - R中按照软件的相关函数(Windows平台).
  • import - R的导入机制.
  • modules - 另外一个R模块系统(Python风格).
  • Rocker heart - R configurations for Docker.
  • RStudio Addins - RStudio插件列表.
  • drat - Creation and use of R repositories on 使用R在GitHub或其他平台创建和使用仓储.
  • covr - Test coverage for your R package and (optionally) upload the results to coveralls or codecov.
  • lintr - R静态代码分析.
  • staticdocs - 为一个R包生成静态html文档.

Logging

Packages for Logging

  • futile.logger - R中类似log4j的日志记录包.
  • log4r - R中的log4j接口
  • logging - 一个在R中实现log4j的日志处理包.

Data Packages

Handy Data Packages

  • engsoccerdata - 英国和欧洲联赛结果数据(1871-2016年).
  • gapminder - 从Gapminder摘录的数据集.

Other Tools

Handy Tools for R

  • git2r - 在R中使用git.

Other Interpreters

Alternative R engines.

  • CXXR - Refactorising R into C++.
  • fastR - FastR is an implementation of the R Language in Java atop Truffle and Graal.
  • incanter - Clojure-based, R-like statistical computing and graphics environment for the JVM with Lisp spirit.
  • pqR - 一个更快的R实现.
  • renjin - 一个基于JVM的R编译器.
  • rho - Refactor the interpreter of the R language into a fully-compatible, efficient, VM for R.
  • riposte - 一个R快速编译和JIT工具.
  • RRO - R革命性开放平台(Microsoft R Open).
  • TERR - R的TIBCO企业运行环境.

Learning R

Packages for Learning R.

  • swirl - 一个在R控制台中交互式学习指南.
  • DataScienceR - 一个数据科学,神经网络,和机器学习的指南.

Resources

发现新的R资源的地方.

Websites

Books

Podcasts

Reference Cards

MOOCs

Massive open online courses.

Lists

Great resources for learning domain knowledge.

Other Awesome Lists

Contributing

一直欢迎大家的贡献!我的邮件:asxinyu@qq.com This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License - CC BY-NC-SA 4.0

About

A curated list of awesome R packages, frameworks and software.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • R 100.0%