Skip to content

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

Notifications You must be signed in to change notification settings

jinshuai886/awesome-R

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 

Repository files navigation

Awesome R

Awesome

A curated list of awesome R packages and tools. Inspired by awesome-machine-learning.

heart for Top 50 CRAN downloaded packages or repos with 400+ star

2020

2019

  • ggforce - ggplot2 extension framework ggforce
  • rayshader - 2D and 3D data visualizations via rgl rayshader
  • vroom - Fast reading of delimited files vroom

Integrated Development Environments

Integrated Development Environment

  • VSCode heart - vscode-R + vscode-r-lsp VSCode R Langauage Support
  • RStudio heart - A powerful and productive user interface for R. Works great on Windows, Mac, and Linux.
  • Emacs + ESS - Emacs Speaks Statistics is an add-on package for emacs text editors.
  • Sublime Text + R-Box - Add-on package for Sublime Text 2/3.
  • TextMate + r.tmblundle - Add-on package for TextMate 1/2.
  • StatET - An Eclipse based IDE for R.
  • Microsoft R - Revolution R would be offered free to academic users and commercial software would focus on big data, large scale multiprocessor functionality.
  • R Commander - A package that provides a basic graphical user interface.
  • IRkernel heart - R kernel for Jupyter.
  • Deducer - A Menu driven data analysis GUI with a spreadsheet like data editor.
  • Radiant - A platform-independent browser-based interface for business analytics in R, based on the Shiny.
  • Vim-R - Vim plugin for R.
  • Nvim-R - Neovim plugin for R.
  • Jamovi and JASP - Desktop software for both Bayesian and Frequentist methods, using a UI familiar to SPSS users.
  • Bio7 - An IDE contains tools for model creation, scientific image analysis and statistical analysis for ecological modelling.
  • RTVS - R Tools for Visual Studio.
  • radian heart (formerly rtichoke) - A modern R console with syntax highlighting.
  • RKWard - An extensible IDE/GUI for R.

Syntax

Packages change the way you use R.

  • magrittr heart - Let's pipe it.
  • pipeR - Multi-paradigm Pipeline Implementation.
  • lambda.r - Functional programming and simple pattern matching in R.
  • purrr - A FP package for R in the spirit of underscore.js.

Data Manipulation

Packages for cooking data.

  • dplyr heart - Fast data frames manipulation and database query.
  • data.table heart - Fast data manipulation in a short and flexible syntax.
  • reshape2 heart - Flexible rearrange, reshape and aggregate data.
  • readr heart - A fast and friendly way to read tabular data into R.
  • haven - Improved methods to import SPSS, Stata and SAS files in R.
  • tidyr - Easily tidy data with spread and gather functions.
  • broom heart - Convert statistical analysis objects into tidy data frames.
  • rlist - A toolbox for non-tabular data manipulation with lists.
  • jsonlite - A robust and quick way to parse JSON files in R.
  • ff - Data structures designed to store large datasets.
  • lubridate - A set of functions to work with dates and times.
  • stringi heart - ICU based string processing package.
  • stringr heart - Consistent API for string processing, built on top of stringi.
  • bigmemory - Shared memory and memory-mapped matrices. The big* packages provide additional tools including linear models (biglm) and Random Forests (bigrf).
  • fuzzyjoin - Join tables together on inexact matching.
  • tidyverse - Easily install and load packages from the tidyverse.
  • snakecase - Automatically parse and convert strings into cases like snake or camel among others.
  • vroom - Fast reading of delimited files
  • DataExplorer - Fast exploratory data analysis with minimum code.

Graphic Displays

Packages for showing data.

  • ggplot2 heart - An implementation of the Grammar of Graphics.
  • ggfortify - A unified interface to ggplot2 popular statistical packages using one line of code.
  • ggrepel - Repel overlapping text labels away from each other.
  • ggalt - Extra Coordinate Systems, Geoms and Statistical Transformations for ggplot2.
  • ggstatsplot - ggplot2 Based Plots with Statistical Details
  • ggtree - Visualization and annotation of phylogenetic tree.
  • ggtech - ggplot2 tech themes and scales
  • ggplot2 Extensions - Showcases of ggplot2 extensions.
  • lattice - A powerful and elegant high-level data visualization system.
  • corrplot - A graphical display of a correlation matrix or general matrix. It also contains some algorithms to do matrix reordering.
  • rgl - 3D visualization device system for R.
  • Cairo - R graphics device using cairo graphics library for creating high-quality display output.
  • extrafont - Tools for using fonts in R graphics.
  • showtext - Enable R graphics device to show text using system fonts.
  • animation - A simple way to produce animated graphics in R, using ImageMagick.
  • gganimate - Create easy animations with ggplot2.
  • misc3d - Powerful functions to deal with 3d plots, isosurfaces, etc.
  • xkcd - Use xkcd style in graphs.
  • imager - An image processing package based on CImg library to work with images and display them.
  • hrbrthemes - 🔏 Opinionated, typographic-centric ggplot2 themes and theme components.
  • waffle - 🍁 Make waffle (square pie) charts in R.
  • dendextend - visualizing, adjusting and comparing trees of hierarchical clustering.
  • idendro - interactive exploration of dendrograms (trees of hierarchical clustering).
  • r2d3 - R Interface to D3 Visualizations
  • Patchwork - Combine separate ggplots into the same graphic.
  • plot3D - Plotting Multi-Dimensional Data
  • plot3Drgl - Plotting Multi-Dimensional Data - Using 'rgl'

HTML Widgets

Packages for interactive visualizations.

  • heatmaply - Interactive heatmaps with D3.
  • d3heatmap - Interactive heatmaps with D3 (no longer maintained).
  • DataTables - Displays R matrices or data frames as interactive HTML tables.
  • DiagrammeR heart - Create JS graph diagrams and flowcharts in R.
  • dygraphs - Charting time-series data in R.
  • formattable heart - Formattable Data Structures.
  • ggvis heart - Interactive grammar of graphics for R.
  • Leaflet - One of the most popular JavaScript libraries interactive maps.
  • MetricsGraphics - Enables easy creation of D3 scatterplots, line charts, and histograms.
  • networkD3 - D3 JavaScript Network Graphs from R.
  • scatterD3 - Interactive scatterplots with D3.
  • plotly heart - Interactive ggplot2 and Shiny plotting with plot.ly.
  • rCharts heart - Interactive JS Charts from R.
  • rbokeh - R Interface to Bokeh.
  • threejs - Interactive 3D scatter plots and globes.
  • timevis - Create fully interactive timeline visualizations.
  • visNetwork - Using vis.js library for network visualization.
  • wordcloud2 - R interface to wordcloud2.js.
  • highcharter - R wrapper for highcharts based on htmlwidgets
  • echarts4r - R wrapper to Echarts version 4

Reproducible Research

Packages for literate programming and reproducible workflows.

  • knitr heart - Easy dynamic report generation in R.
  • redoc - Reversible Reproducible Documents
  • tinytex - A lightweight and easy-to-maintain LaTeX distribution
  • xtable - Export tables to LaTeX or HTML.
  • rapport - An R templating system.
  • rmarkdown heart - Dynamic documents for R.
  • slidify heart - Generate reproducible html5 slides from R markdown.
  • Sweave - A package designed to write LaTeX reports using R.
  • texreg - Formatting statistical models in LaTex and HTML.
  • checkpoint - Install packages from snapshots on the checkpoint server.
  • brew - Pre-compute data to enhance your report templates. Can be combined with knitr.
  • officer - An R package to generate Microsoft Word, Microsoft PowerPoint and HTML reports.
  • flextable - An R package to embed complex tables (merged cells, multi-level headers and footers, conditional formatting) in Microsoft Word, Microsoft PowerPoint and HTML reports. It cooperates with the [officer] package and integrates with [rmarkdown] reports.
  • bookdown - Authoring Books with R Markdown.
  • ezknitr - Avoid the typical working directory pain when using 'knitr'
  • drake - An rOpenSci package for reproducible data science workflows too big for knitr.
  • R Suite - A package to design flexible and reproducible deployment workflows for R.
  • kable - Build fancy HTML or 'LaTeX' tables using 'kable()' from 'knitr'.

Web Technologies and Services

Packages to surf the web.

  • Web Technologies List - Information about how to use R and the world wide web together.
  • shiny heart - Easy interactive web applications with R. See also awesome-rshiny
  • shinyjs - Easily improve the user interaction and user experience in your Shiny apps in seconds.
  • RCurl - General network (HTTP/FTP/...) client interface for R.
  • curl - A Modern and Flexible Web Client for R.
  • httr heart - User-friendly RCurl wrapper.
  • httpuv - HTTP and WebSocket server library.
  • XML heart - Tools for parsing and generating XML within R.
  • xml2 heart - Optimized tools for parsing and generating XML within R.
  • rvest heart - Simple web scraping for R, using CSSSelect or XPath syntax.
  • OpenCPU heart - HTTP API for R handling concurrent calls, based on the Apache2 web server, to expose R code as REST web services and create full-sized, multi-page web applications.
  • Rfacebook - Access to Facebook API via R.
  • RSiteCatalyst - R client library for the Adobe Analytics.
  • plumber - A library to expose existing R code as web API.

Parallel Computing

Packages for parallel computing.

  • parallel - R started with release 2.14.0 which includes a new package parallel incorporating (slightly revised) copies of packages multicore and snow.
  • Rmpi - Rmpi provides an interface (wrapper) to MPI APIs. It also provides interactive R slave environment.
  • foreach heart - Executing the loop in parallel.
  • future heart - A minimal, efficient, cross-platform unified Future API for parallel and distributed processing in R; designed for beginners as well as advanced developers.
  • SparkR heart - R frontend for Spark.
  • DistributedR - A scalable high-performance platform from HP Vertica Analytics Team.
  • ddR - Provides distributed data structures and simplifies distributed computing in R.
  • sparklyr - R interface for Apache Spark from RStudio.
  • batchtools - High performance computing with LSF, TORQUE, Slurm, OpenLava, SGE and Docker Swarm.

High Performance

Packages for making R faster.

  • Rcpp heart - Rcpp provides a powerful API on top of R, make function in R extremely faster.
  • Rcpp11 - Rcpp11 is a complete redesign of Rcpp, targetting C++11.
  • compiler - speeding up your R code using the JIT

Language API

Packages for other languages.

  • rJava - Low-level R to Java interface.
  • jvmr - Integration of R, Java, and Scala.
  • rJython - R interface to Python via Jython.
  • rPython - Package allowing R to call Python.
  • runr - Run Julia and Bash from R.
  • RJulia - R package Call Julia.
  • JuliaCall - Seamless Integration Between R and Julia.
  • RinRuby - a Ruby library that integrates the R interpreter in Ruby.
  • R.matlab - Read and write of MAT files together with R-to-MATLAB connectivity.
  • RcppOctave - Seamless Interface to Octave and Matlab.
  • RSPerl - A bidirectional interface for calling R from Perl and Perl from R.
  • V8 - Embedded JavaScript Engine.
  • htmlwidgets - Bring the best of JavaScript data visualization to R.
  • rpy2 - Python interface for R.

Database Management

Packages for managing data.

  • RODBC - ODBC database access for R.
  • DBI - Defines a common interface between the R and database management systems.
  • elastic - Wrapper for the Elasticsearch HTTP API
  • mongolite - Streaming Mongo Client for R
  • odbc - Connect to ODBC databases (using the DBI interface)
  • RMariaDB - An R interface to MariaDB (a replacement for the old RMySQL package)
  • RMySQL - R interface to the MySQL database.
  • ROracle - OCI based Oracle database interface for R.
  • RPostgres - an DBI-compliant interface to the postgres database.
  • RPostgreSQL - R interface to the PostgreSQL database system.
  • RSQLite - SQLite interface for R
  • RJDBC - Provides access to databases through the JDBC interface.
  • rmongodb - R driver for MongoDB.
  • redux - Redis client for R.
  • RCassandra - Direct interface (not Java) to the most basic functionality of Apache Cassandra.
  • RHive - R extension facilitating distributed computing via Apache Hive.
  • RNeo4j - Neo4j graph database driver.
  • rpostgis - R interface to PostGIS database and get spatial objects in R.

Machine Learning

Packages for making R cleverer.

  • anomalize - Tidy Anomaly Detection using Twitter's AnomalyDetection method.
  • AnomalyDetection heart - AnomalyDetection R package from Twitter.
  • ahaz - Regularization for semiparametric additive hazards regression.
  • arules - Mining Association Rules and Frequent Itemsets
  • bigrf - Big Random Forests: Classification and Regression Forests for Large Data Sets
  • bigRR - Generalized Ridge Regression (with special advantage for p >> n cases)
  • bmrm - Bundle Methods for Regularized Risk Minimization Package
  • Boruta - A wrapper algorithm for all-relevant feature selection
  • BreakoutDetection heart - Breakout Detection via Robust E-Statistics from Twitter.
  • bst - Gradient Boosting
  • CausalImpact heart - Causal inference using Bayesian structural time-series models.
  • C50 - C5.0 Decision Trees and Rule-Based Models
  • caret heart - Classification and Regression Training
  • Clever Algorithms For Machine Learning
  • CORElearn - Classification, regression, feature evaluation and ordinal evaluation
  • CoxBoost - Cox models by likelihood based boosting for a single survival endpoint or competing risks
  • Cubist - Rule- and Instance-Based Regression Modeling
  • e1071 - Misc Functions of the Department of Statistics (e1071), TU Wien
  • earth - Multivariate Adaptive Regression Spline Models
  • elasticnet - Elastic-Net for Sparse Estimation and Sparse PCA
  • ElemStatLearn - Data sets, functions and examples from the book: "The Elements of Statistical Learning, Data Mining, Inference, and Prediction" by Trevor Hastie, Robert Tibshirani and Jerome Friedman
  • evtree - Evolutionary Learning of Globally Optimal Trees
  • forecast - Timeseries forecasting using ARIMA, ETS, STLM, TBATS, and neural network models
  • forecastHybrid - Automatic ensemble and cross validation of ARIMA, ETS, STLM, TBATS, and neural network models from the "forecast" package
  • prophet heart - Tool for producing high quality forecasts for time series data that has multiple seasonality with linear or non-linear growth.
  • FSelector - A feature selection framework, based on subset-search or feature ranking approches.
  • frbs - Fuzzy Rule-based Systems for Classification and Regression Tasks
  • GAMBoost - Generalized linear and additive models by likelihood based boosting
  • gamboostLSS - Boosting Methods for GAMLSS
  • gbm - Generalized Boosted Regression Models
  • glmnet heart - Lasso and elastic-net regularized generalized linear models
  • glmpath - L1 Regularization Path for Generalized Linear Models and Cox Proportional Hazards Model
  • GMMBoost - Likelihood-based Boosting for Generalized mixed models
  • 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 - Heteroscedastic Discriminant Analysis
  • ipred - Improved Predictors
  • kernlab - kernlab: Kernel-based Machine Learning Lab
  • klaR - Classification and visualization
  • kohonen - Supervised and Unsupervised Self-Organising Maps.
  • L0Learn - Fast algorithms for best subset selection
  • lars - Least Angle Regression, Lasso and Forward Stagewise
  • lasso2 - L1 constrained estimation aka ‘lasso’
  • LiblineaR - Linear Predictive Models Based On The Liblinear C/C++ Library
  • lme4 heart - Mixed-effects models
  • nlme heart - Mixed-effects models, handling user-specified matrix of residual covariance, relevant for the anaysis of repeated observations in longitudinal trials
  • glmmTMB - Generalized mixed-effects models, handling user-specified matrix of residual covariance, relevant for the anaysis of repeated observations in longitudinal trials
  • LogicReg - Logic Regression
  • maptree - Mapping, pruning, and graphing tree models
  • mboost - Model-Based Boosting
  • Machine Learning For Hackers heart
  • mlr - Extensible framework for classification, regression, survival analysis and clustering [DEPRECIATED]
  • mlr3 heart - Next generation extensible framework for classification, regression, survival analysis and clustering
  • 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: prediction analysis for microarrays
  • 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 - Feature Selection SVM using penalty functions
  • quantregForest - quantregForest: Quantile Regression Forests
  • randomForest - randomForest: Breiman and Cutler's random forests for classification and regression.
  • randomForestSRC - randomForestSRC: Random Forests for Survival, Regression and Classification (RF-SRC).
  • ranger - A Fast Implementation of Random Forests.
  • rattle - Graphical user interface for data mining in R.
  • 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 genetic programming framework
  • Rmalschains - Continuous Optimization using Memetic Algorithms with Local Search Chains (MA-LS-Chains) in R
  • rminer - Simpler use of data mining methods (e.g. NN and SVM) in classification and regression
  • ROCR - Visualizing the performance of scoring classifiers
  • RoughSets - Data Analysis Using Rough Set and Fuzzy Rough Set Theories
  • 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 - R/Weka interface
  • 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.
  • survminer - Survival Analysis & Visualization
  • survival - Survival Analysis
  • svmpath - svmpath: the SVM Path algorithm
  • tgp - Bayesian treed Gaussian process models
  • tree - Classification and regression trees
  • varSelRF - Variable selection using random forests
  • 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 - A comprehensive text mining framework for R.
  • openNLP - Apache OpenNLP Tools Interface.
  • koRpus - An R Package for Text Analysis.
  • zipfR - Statistical models for word frequency distributions.
  • NLP - Basic functions for Natural Language Processing.
  • LDAvis - Interactive visualization of topic models.
  • 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 - R functions for Quantitative Analysis of Textual Data.
  • Topic Models Resources - Topic Models learning and R related resources.
  • NLP for :cn: - NLP related resources in R. @Chinese
  • MonkeyLearn - 🐒 R package for text analysis with Monkeylearn 🐒.
  • tidytext - Implementing tidy principles of Hadley Wickham to text mining.
  • utf8 - Manipulating and printing UTF-8 text that fixes multiple bugs in R's UTF-8 handling.

Bayesian

Packages for Bayesian Inference.

  • coda - Output analysis and diagnostics for MCMC.
  • mcmc - Markov Chain Monte Carlo.
  • MCMCpack - Markov chain Monte Carlo (MCMC) Package.
  • R2WinBUGS - Running WinBUGS and OpenBUGS from R / S-PLUS.
  • BRugs - R interface to the OpenBUGS MCMC software.
  • rjags - R interface to the JAGS MCMC library.
  • rstan heart - R interface to the Stan MCMC software.

Optimization

Packages for Optimization.

  • lpSolve - Interface to Lp_solve to Solve Linear/Integer Programs.
  • minqa - Derivative-free optimization algorithms by quadratic approximation.
  • nloptr - NLopt is a free/open-source library for nonlinear optimization.
  • ompr - Model mixed integer linear programs in an algebraic way directly in R.
  • Rglpk - R/GNU Linear Programming Kit Interface
  • ROI - The R Optimization Infrastructure ('ROI') is a sophisticated framework for handling optimization problems in R.

Finance

Packages for dealing with money.

  • quantmod heart - Quantitative Financial Modelling & Trading Framework for R.
  • pedquant - Public Economic Data and Quantitative Analysis
  • TTR - Functions and data to construct technical trading rules with R.
  • PerformanceAnalytics - Econometric tools for performance and risk analysis.
  • zoo heart - S3 Infrastructure for Regular and Irregular Time Series.
  • xts - eXtensible Time Series.
  • tseries - Time series analysis and computational finance.
  • fAssets - Analysing and Modelling Financial Assets.
  • scorecard - Credit Risk Scorecard

Bioinformatics and Biostatistics

Packages for processing biological datasets.

  • Bioconductor heart - Tools for the analysis and comprehension of high-throughput genomic data.
  • genetics - Classes and methods for handling genetic data.
  • gap - An integrated package for genetic data analysis of both population and family data.
  • ape - Analyses of Phylogenetics and Evolution.
  • pheatmap - Pretty heatmaps made easy.
  • lme4 - Generalized mixed-effects models.
  • nlme - Mixed-effects models, handling user-specified matrix of residual covariance, relevant for the anaysis of repeated observations in longitudinal trials.
  • glmmTMB - Generalized mixed-effects models, handling user-specified matrix of residual covariance, relevant for the anaysis of repeated observations in longitudinal trials.

Network Analysis

Packages to construct, analyze and visualize network data.

  • Network Analysis List - Network Analysis related resources.
  • igraph heart - A collection of network analysis tools.
  • network - Basic tools to manipulate relational data in R.
  • sna - Basic network measures and visualization tools.
  • netdiffuseR - Tools for Analysis of Network Diffusion.
  • networkDynamic - Support for dynamic, (inter)temporal networks.
  • ndtv - Tools to construct animated visualizations of dynamic network data in various formats.
  • statnet - The project behind many R network analysis packages.
  • ergm - Exponential random graph models in R.
  • latentnet - Latent position and cluster models for network objects.
  • tnet - Network measures for weighted, two-mode and longitudinal networks.
  • rgexf - Export network objects from R to GEXF, for manipulation with network software like Gephi or Sigma.
  • visNetwork - Using vis.js library for network visualization.
  • tidygraph - A tidy API for graph manipulation

Spatial

Packages to explore the earth.

  • CRAN Task View: Analysis of Spatial Data- Spatial Analysis related resources.
  • Leaflet - One of the most popular JavaScript libraries interactive maps.
  • ggmap - Plotting maps in R with ggplot2.
  • REmap - R interface to the JavaScript library ECharts for interactive map data visualization.
  • sf - Improved Classes and Methods for Spatial Data.
  • sp - Classes and Methods for Spatial Data.
  • rgeos - Interface to Geometry Engine - Open Source
  • rgdal - Bindings for the Geospatial Data Abstraction Library
  • maptools - Tools for Reading and Handling Spatial Objects
  • gstat - Spatial and spatio-temporal geostatistical modelling, prediction and simulation.
  • spacetime - R classes and methods for spatio-temporal data.
  • RColorBrewer - Provides color schemes for maps
  • spatstat - Spatial Point Pattern Analysis, Model-Fitting, Simulation, Tests
  • spdep - Spatial Dependence: Weighting Schemes, Statistics and Models
  • tigris - Download and use Census TIGER/Line shapefiles in R
  • GWmodel - Geographically-Weighted Models
  • tmap - R package for thematic maps

R Development

Packages for packages.

  • Package Development List - R packages to improve package development.
  • promises - Abstractions for Promise-Based Asynchronous Programming
  • devtools heart - Tools to make an R developer's life easier.
  • testthat heart - An R package to make testing fun.
  • 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 - Describe your functions in comments next to their definitions.
  • lineprof - Visualise line profiling results in R.
  • packrat - Make your R projects more isolated, portable, and reproducible.
  • installr - Functions for installing softwares from within R (for Windows).
  • import - An import mechanism for R.
  • modules - An alternative (Python style) module system for R.
  • Rocker heart - R configurations for Docker.
  • RStudio Addins - List of RStudio addins.
  • drat - Creation and use of R repositories on GitHub or other repos.
  • covr - Test coverage for your R package and (optionally) upload the results to coveralls or codecov.
  • lintr - Static code analysis for R to enforce code style.
  • staticdocs - Generate static html documentation for an R package.
  • sinew - Generate roxygen2 skeletons populated with information scraped from the function script.

Logging

Packages for Logging

  • futile.logger - A logging package in R similar to log4j
  • log4r - A log4j derivative for R
  • logging - A logging package emulating the python logging package.

Data Packages

Handy Data Packages

  • engsoccerdata - English and European soccer results 1871-2016.
  • gapminder - Excerpt from the Gapminder dataset (data about countries through the past 50 years).
  • wbstats - Tools for searching and downloading data and statistics from the World Bank Data API and the World Bank Data Catalog API.
  • ICON - complex systems & networks datasets from the Index of COmplex Networks (ICON) database webpage.
  • RCOBOLDI - Import COBOL CopyBook data files directly into R as properly structured data frames. Package builds are available via Drat and DockerHub.

Other Tools

Handy Tools for R

  • git2r - Gives you programmatic access to Git repositories from R.
  • Conda - Most R packages are available through the Conda polyglot cross-platform dependency manager.

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.
  • pqR - a "pretty quick" implementation of R
  • renjin - a JVM-based interpreter for R.
  • rho - Refactor the interpreter of the R language into a fully-compatible, efficient, VM for R.
  • riposte - a fast interpreter and JIT for R.
  • TERR - TIBCO Enterprise Runtime for R.

Learning R

Packages for Learning R.

  • swirl heart - An interactive R tutorial directly in your R console.
  • DataScienceR heart - a list of R tutorials for Data Science, NLP and Machine Learning.

Resources

Where to discover new R-esources.

Websites

Manuals

  • R-project - The R Project for Statistical Computing.
  • An Introduction to R - A very good introductory text on R, also covers some advanced topic. See also the Manuals section on CRAN
  • CRAN Contributed Docs - CRAN Contributed Documentation in many languages.
  • Quick-R - An excellent quick reference
  • tryR - A quick course for getting started with R.

Tools and References

  • RDocumentation - Search through all CRAN, Bioconductor, Github packages and their archives with RDocumentation.
  • rdrr.io - Find R package documentation. Try R packages in your browser.
  • CRAN Task Views - Task Views for CRAN packages.
  • rnotebook.io - Create online R Jupyter Notebooks for free.

News and Info

  • R Weekly - Weekly updates about R and Data Science. R Weekly is openly developed on GitHub.
  • R Bloggers - There are people scattered across the Web who blog about R. This is simply an aggregator of many of those feeds.
  • R-users - A job board for R users (and the people who are looking to hire them)

Books

Free and Online

Paid

  • The Art of R Programming - It's a good resource for systematically learning fundamentals such as types of objects, control statements, variable scope, classes and debugging in R.
  • R Cookbook, 2nd ed. by JD Long & Paul Teetor (2019) - A quick and simple introduction to conducting many common statistical tasks with R.
  • R in Action - This book aims at all levels of users, with sections for beginning, intermediate and advanced R ranging from "Exploring R data structures" to running regressions and conducting factor analyses.
  • Use R! Series by Springer - This series of inexpensive and focused books from Springer publish shorter books aimed at practitioners. Books can discuss the use of R in a particular subject area, such as Bayesian networks, ggplot2 and Rcpp.
  • Learning R Programming - Learning R as a programming language from basics to advanced topics.

Book/monograph Lists and Reviews

Podcasts

Reference Cards

MOOCs

Massive open online courses.

Lists

Great resources for learning domain knowledge.

R Ecosystems

R communities and package collections (in alphabetical order):

2018

  • fable - univariate and multivariate time series forecasting models fable
  • r2d3 - R Interface to D3 Visualizations r2d3
  • rstats-ed - List of courses teaching R
  • promises - Abstractions for Promise-Based Asynchronous Programming promises
  • tinytex - A lightweight and easy-to-maintain LaTeX distribution tinytex
  • Readings in Applied Data Science - These readings reflect Hadley's personal thoughts about applied data science.

2017

  • prophet - Tool for producing high quality forecasts for time series data that has multiple seasonality with linear or non-linear growth.
  • tidyverse - Easily install and load packages from the tidyverse
  • purrr - A functional programming toolkit for R
  • hrbrthemes - 🔏 Opinionated, typographic-centric ggplot2 themes and theme components
  • xaringan - Create HTML5 slides with R Markdown and the JavaScript library
  • blogdown - Create Blogs and Websites with R Markdown
  • glue - Glue strings to data in R. Small, fast, dependency free interpreted string literals.
  • covr - Test coverage reports for R
  • lintr - Static Code Analysis for R
  • reprex - Render bits of R code for sharing, e.g., on GitHub or StackOverflow.
  • reticulate - R Interface to Python
  • tensorflow - TensorFlow for R
  • utf8 - Manipulating and printing UTF-8 text that fixes multiple bugs in R's UTF-8 handling.
  • Patchwork - Combine separate ggplots into the same graphic.

Other Awesome Lists

Contributing

Your contributions are always welcome!

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%