Awesome R


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

For better navigation, see

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


  • prophet7k 1k - Tool for producing high quality forecasts for time series data that has multiple seasonality with linear or non-linear growth.
  • tidyverse149 53 - Easily install and load packages from the tidyverse
  • purrr65 20 - A functional programming toolkit for R
  • hrbrthemes240 20 - πŸ” Opinionated, typographic-centric ggplot2 themes and theme components
  • xaringan258 46 - Create HTML5 slides with R Markdown and the JavaScript library
  • blogdown439 74 - Create Blogs and Websites with R Markdown
  • glue123 15 - Glue strings to data in R. Small, fast, dependency free interpreted string literals.
  • covr176 86 - Test coverage reports for R
  • lintr377 69 - Static Code Analysis for R
  • reprex232 23 - Render bits of R code for sharing, e.g., on GitHub or StackOverflow.
  • reticulate409 61 - R Interface to Python
  • tensorflow1k 256 - TensorFlow for R
  • utf8 - Manipulating and printing UTF-8 text that fixes multiple bugs in R's UTF-8 handling.

Integrated Development Environments

Integrated Development Environment

  • 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-Box138 30 - Add-on package for Sublime Text 2/3.
  • TextMate + r.tmblundle18 7 - Add-on package for TextMate 1/2.
  • StatET - An Eclipse based IDE for R.
  • Revolution R Enterprise - 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 659 152 - 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-R123 62 - Vim plugin for R.
  • Nvim-R293 64 - Neovim plugin for R.
  • JASP - A complete package for both Bayesian and Frequentist methods, that is familiar to users of SPSS.
  • Bio7 - A IDE contains tools for model creation, scientific image analysis and statistical analysis for ecological modelling.
  • RTVS - R Tools for Visual Studio.
  • Rice60 1 - A modern R console with syntax highlighting.


Packages change the way you use R.

  • magrittr 477 76 - Let's pipe it.
  • pipeR127 32 - Multi-paradigm Pipeline Implementation.
  • lambda.r103 12 - Functional programming and simple pattern matching in R.
  • purrr382 87 - A FP package for R in the spirit of underscore.js.

Data Manipulation

Packages for cooking data.

  • dplyr 2k 880 - Fast data frames manipulation and database query.
  • data.table 1k 779 - Fast data manipulation in a short and flexible syntax.
  • reshape2 162 62 - Flexible rearrange, reshape and aggregate data.
  • readr 407 133 - A fast and friendly way to read tabular data into R.
  • haven186 55 - Improved methods to import SPSS, Stata and SAS files in R.
  • tidyr402 166 - Easily tidy data with spread and gather functions.
  • broom 549 119 - Convert statistical analysis objects into tidy data frames.
  • rlist109 21 - A toolbox for non-tabular data manipulation with lists.
  • jsonlite144 45 - 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 166 64 - 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 (bigrf90 32 ).
  • fuzzyjoin239 28 - Join tables together on inexact matching.
  • tidyverse186 24 - Easily install and load packages from the tidyverse.

Graphic Displays

Packages for showing data.

  • ggplot2 2k 986 - An implementation of the Grammar of Graphics.
  • ggfortify283 49 - A unified interface to ggplot2 popular statistical packages using one line of code.
  • ggrepel408 49 - Repel overlapping text labels away from each other.
  • ggalt263 33 - Extra Coordinate Systems, Geoms and Statistical Transformations for ggplot2.
  • ggtree169 54 - Visualization and annotation of phylogenetic tree.
  • ggtech146 29 - ggplot2 tech themes and scales
  • ggplot2 Extensions - Showcases of ggplot2 extensions.
  • lattice - A powerful and elegant high-level data visualization system.
  • corrplot105 49 - 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.
  • extrafont46 11 - Tools for using fonts in R graphics.
  • showtext17 0 - 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.
  • hrbrthemes240 20 - πŸ” Opinionated, typographic-centric ggplot2 themes and theme components.
  • waffle204 34 - 🍁 Make waffle (square pie) charts in R

HTML Widgets

Packages for interactive visualizations.

  • d3heatmap172 77 - Interactive heatmaps with D3.
  • DataTables - Displays R matrices or data frames as interactive HTML tables.
  • DiagrammeR 881 143 - Create JS graph diagrams and flowcharts in R.
  • dygraphs204 122 - Charting time-series data in R.
  • formattable - Formattable Data Structures.
  • ggvis 656 191 - 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.
  • scatterD3174 42 - Interactive scatterplots with D3.
  • plotly 1k 419 - Interactive ggplot2 and Shiny plotting with
  • rCharts 653 323 - Interactive JS Charts from R.
  • rbokeh - R Interface to Bokeh.
  • threejs156 40 - Interactive 3D scatter plots and globes.
  • timevis168 47 - Create fully interactive timeline visualizations.
  • visNetwork101 25 - Using vis.js library for network visualization.
  • wordcloud2164 58 - R interface to wordcloud2.js.
  • highcharter222 57 - R wrapper for highcharts based on htmlwidgets

Reproducible Research

Packages for literate programming.

  • knitr heart - Easy dynamic report generation in R.
  • xtable - Export tables to LaTeX or HTML.
  • rapport - An R templating system.
  • rmarkdown heart - Dynamic documents for R.
  • slidify 477 152 - 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.
  • checkpoint74 26 - Install packages from snapshots on the checkpoint server.
  • brew - Pre-compute data to enhance your report templates. Can be combined with knitr.
  • ReporteRs - An R package to generate Microsoft Word, Microsoft PowerPoint and HTML reports.
  • bookdown - Authoring Books with R Markdown.
  • ezknitr24 5 - Avoid the typical working directory pain when using 'knitr'

Web Technologies and Services

Packages to surf the web.

  • Web Technologies List135 55 - Information about how to use R and the world wide web together.
  • shiny 3k 2k - Easy interactive web applications with R. See also awesome-rshiny82 33
  • shinyjs261 62 - Easily improve the user interaction and user experience in your Shiny apps in seconds.
  • RCurl - General network (HTTP/FTP/...) client interface for R.
  • httr 666 2k - User-friendly RCurl wrapper.
  • httpuv96 50 - HTTP and WebSocket server library.
  • XML heart - Tools for parsing and generating XML within R.
  • rvest 807 241 - Simple web scraping for R, using CSSSelect or XPath syntax.
  • OpenCPU heart - HTTP API for R.
  • Rfacebook243 209 - Access to Facebook API via R.
  • RSiteCatalyst110 50 - R client library for the Adobe Analytics.
  • plumber503 103 - 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 - A minimal, efficient, cross-platform unified Future API for parallel and distributed processing in R; designed for beginners as well as advanced developers.
  • SparkR 720 388 - R frontend for Spark.
  • DistributedR158 58 - A scalable high-performance platform from HP Vertica Analytics Team.
  • ddR100 17 - 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.
  • Rcpp1148 6 - 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.
  • jvmr4 5 - Integration of R, Java, and Scala.
  • rJython - R interface to Python via Jython.
  • rPython - Package allowing R to call Python.
  • runr24 5 - Run Julia and Bash from R.
  • RJulia80 15 - R package Call Julia.
  • JuliaCall10 1 - 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.
  • RcppOctave3 1 - Seamless Interface to Octave and Matlab.
  • RSPerl - A bidirectional interface for calling R from Perl and Perl from R.
  • V869 11 - 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.
  • DBI107 47 - Defines a common interface between the R and database management systems.
  • elastic157 46 - Wrapper for the Elasticsearch HTTP API
  • mongolite104 27 - Streaming Mongo Client for R
  • RMariaDB12 6 - 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.
  • RPostgreSQL - R interface to the PostgreSQL database system.
  • RSQLite - SQLite interface for R
  • RJDBC - Provides access to databases through the JDBC interface.
  • rmongodb64 28 - R driver for MongoDB.
  • rredis - Redis client for R.
  • RCassandra - Direct interface (not Java) to the most basic functionality of Apache Cassanda.
  • RHive125 70 - R extension facilitating distributed computing via Apache Hive.
  • RNeo4j2 1 - Neo4j graph database driver.
  • rpostgis22 3 - R interface to PostGIS database and get spatial objects in R.

Machine Learning

Packages for making R cleverer.

  • AnomalyDetection 2k 479 - 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 172 28 - Breakout Detection via Robust E-Statistics from Twitter.
  • bst - Gradient Boosting
  • CausalImpact 294 40 - 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 Learning140 34
  • 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 7k 1k - 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.
  • 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 245 102 - Mixed-effects models
  • LogicReg - Logic Regression
  • maptree - Mapping, pruning, and graphing tree models
  • mboost - Model-Based Boosting
  • Machine Learning For Hackers 1k 957
  • mlr 754 299 - Extensible framework for classification, regression, survival analysis and clustering
  • mvpart - Multivariate partitioning
  • MXNet 12k 5k - 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).
  • 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
  • SuperLearner26 7 and subsemble - Multi-algorithm ensemble learning packages.
  • svmpath - svmpath: the SVM Path algorithm
  • tgp - Bayesian treed Gaussian process models
  • tree - Classification and regression trees
  • varSelRF - Variable selection using random forests
  • xgboost 793 377 - eXtreme Gradient Boosting Tree model, well known for its speed and performance.

Natural Language Processing

Packages for Natural Language Processing.

  • text2vec371 74 - 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.
  • LDAvis279 89 - 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.
  • quanteda348 111 - R functions for Quantitative Analysis of Textual Data.
  • Topic Models Resources97 22 - Topic Models learning and R related resources.
  • NLP for - NLP related resources in R. @Chinese
  • MonkeyLearn38 2 - πŸ’ 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.


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.


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.


Packages for dealing with money.

  • quantmod heart - Quantitative Financial Modelling & Trading Framework for R.
  • 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.


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.

Network Analysis

Packages to construct, analyze and visualize network data.

  • Network Analysis List504 103 - 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.
  • netdiffuseR17 5 - 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.
  • visNetwork101 25 - Using vis.js library for network visualization.


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.
  • ggmap268 141 - Plotting maps in R with ggplot2.
  • REmap132 89 - R interface to the JavaScript library ECharts for interactive map data visualization.
  • 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
  • gstat21 6 - Spatial and spatio-temporal geostatistical modelling, prediction and simulation.
  • spacetime7 7 - R classes and methods for spatio-temporal data.
  • RColorBrewer - Provides color schemes for maps
  • spatstat45 28 - Spatial Point Pattern Analysis, Model-Fitting, Simulation, Tests
  • spdep - Spatial Dependence: Weighting Schemes, Statistics and Models
  • tigris62 13 - Download and use Census TIGER/Line shapefiles in R

R Development

Packages for packages.

  • Package Development List - R packages to improve package development.
  • devtools 2k 690 - Tools to make an R developer's life easier.
  • testthat 434 238 - An R package to make testing fun.
  • R6 174 41 - simpler, faster, lighter-weight alternative to R's built-in classes.
  • pryr 131 47 - Make it easier to understand what's going on in R.
  • roxygen 236 135 - Describe your functions in comments next to their definitions.
  • lineprof63 12 - Visualise line profiling results in R.
  • packrat235 72 - Make your R projects more isolated, portable, and reproducible.
  • installr102 51 - Functions for installing softwares from within R (for Windows).
  • import77 8 - An import mechanism for R.
  • modules104 11 - An alternative (Python style) module system for R.
  • Rocker heart - R configurations for Docker.
  • RStudio Addins322 64 - List of RStudio addins.
  • drat74 78 - Creation and use of R repositories on GitHub or other repos.
  • covr176 86 - Test coverage for your R package and (optionally) upload the results to coveralls or codecov.
  • lintr377 69 - Static code analysis for R to enforce code style.
  • staticdocs144 71 - Generate static html documentation for an R package.


Packages for Logging

  • futile.logger80 30 - A logging package in R similar to log4j
  • log4r39 10 - A log4j derivative for R
  • logging - A logging package emulating the python logging package.

Data Packages

Handy Data Packages

  • engsoccerdata59 20 - English and European soccer results 1871-2016.
  • gapminder87 58 - Excerpt from the Gapminder dataset (data about countries throught the past 50 years).

Other Tools

Handy Tools for R

  • git2r112 48 - Gives you programmatic access to Git repositories from R.

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.
  • rho99 10 - Refactor the interpreter of the R language into a fully-compatible, efficient, VM for R.
  • riposte54 6 - 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 - a list of R tutorials for Data Science, NLP and Machine Learning.


Where to discover new R-esources.


  • R-project - The R Project for Statistical Computing.
  • 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.
  • DataCamp - Learn R data analytics online.
  • Quick-R - An excellent quick reference.
  • Advanced R heart - An online version of the Advanced R book.
  • Efficient R Programming - An online home of the O’Reilly book: Efficient R Programming.
  • CRAN Task Views - Task Views for CRAN packages.
  • The R Programming Wikibook - A collaborative handbook for R.
  • R-users - A job board for R users (and the people who are looking to hire them)
  • R Cookbook - A problem-oriented website that supports the R Graphics Cookbook.
  • tryR - A quick course for getting started with R.
  • RDocumentation - Search through all CRAN, Bioconductor, Github packages and their archives with RDocumentation.


  • R Books List61 12 - List of R Books.
  • 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.
  • Free Books - CRAN Contributed Documentation in many languages.
  • R Cookbook - A quick and simple introduction to conducting many common statistical tasks with R.
  • Books written as part of the Johns Hopkins Data Science Specialization:
  • R Packages - A book (in paper and website formats) on writing R packages.
  • 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! - 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.
  • R for SAS and SPSS users - An excelllent resource for users already familiar with SAS or SPSS.
  • An Introduction to R - A very good introductory text on R, also covers some advanced topics.
  • Introduction to Statistical Learning with Application in R - A simplified and "operational" version of The Elements of Statistical Learning. Free softcopy provided by its authors.
  • The R Inferno - Patrick Burns gives insight into R's ins and outs along with its quirks!
  • R for Data Science - Free book from RStudio developers with emphasis on data science workflow.
  • Learning R Programming - Learning R as a programming language from basics to advanced topics.
  • Data Munging with R - A gentle introduction to data processing and programming in R, for beginners moving beyond spreadsheets.


Reference Cards


Massive open online courses.


Great resources for learning domain knowledge.

Other Awesome Lists


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