Awesome R – Massive Collection of Resources
for Top 50 CRAN downloaded packages or repos with 400+
- Awesome R
- 2020
- 2019
- 2018
- Integrated Development Environments
- Syntax
- Data Manipulation
- Graphic Displays
- Html Widgets
- Reproducible Research
- Web Technologies and Services
- Parallel Computing
- High Performance
- Language API
- Database Management
- Machine Learning
- Natural Language Processing
- Bayesian
- Optimization
- Finance
- Bioinformatics and Biostatistics
- Network Analysis
- Spatial
- R Development
- Logging
- Data Packages
- Other Tools
- Other Interpreters
- Learning R
- Resources
- Other Awesome Lists
2020
- VSCode – vscode-R + vscode-r-lsp VSCode R Langauage Support
- gt – Easily generate information-rich, publication-quality tables from R
2019
- ggforce – ggplot2 extension framework
- rayshader – 2D and 3D data visualizations via rgl
- vroom – Fast reading of delimited files
Integrated Development Environments
Integrated Development Environment
- VSCode
– vscode-R + vscode-r-lsp VSCode R Langauage Support
- RStudio
– 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
– 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
(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
– 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
– Fast data frames manipulation and database query.
- data.table
– Fast data manipulation in a short and flexible syntax.
- reshape2
– Flexible rearrange, reshape and aggregate data.
- readr
– 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
– 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
– ICU based string processing package.
- stringr
– 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
– 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
– Create JS graph diagrams and flowcharts in R.
- dygraphs – Charting time-series data in R.
- formattable
– Formattable Data Structures.
- ggvis
– 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
– Interactive ggplot2 and Shiny plotting with plot.ly.
- rCharts
– 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
– 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
– Dynamic documents for R.
- slidify
– 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
– 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
– User-friendly RCurl wrapper.
- httpuv – HTTP and WebSocket server library.
- XML
– Tools for parsing and generating XML within R.
- xml2
– Optimized tools for parsing and generating XML within R.
- rvest
– Simple web scraping for R, using CSSSelect or XPath syntax.
- OpenCPU
– 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
– 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
– 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
– 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
- cpp11 – cpp11 is a header-only R package that helps R package developers handle R objects with C++ code. It’s similar to Rcpp but with different design trade-offs and features.
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
– 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
– Breakout Detection via Robust E-Statistics from Twitter.
- bst – Gradient Boosting
- CausalImpact
– Causal inference using Bayesian structural time-series models.
- C50 – C5.0 Decision Trees and Rule-Based Models
- caret
– 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
- fable – a collection of commonly used univariate and multivariate time series forecasting models
- prophet
– 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
– 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
– 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
– 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
- LogicReg – Logic Regression
- maptree – Mapping, pruning, and graphing tree models
- mboost – Model-Based Boosting
- Machine Learning For Hackers
- mlr – Extensible framework for classification, regression, survival analysis and clustering [DEPRECIATED]
- mlr3
– Next generation extensible framework for classification, regression, survival analysis and clustering
- mvpart – Multivariate partitioning
- MXNet
– 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
– 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
– 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
– 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
– 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
– 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
– 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
– 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
– Tools to make an R developer’s life easier.
- testthat
– An R package to make testing fun.
- R6
– simpler, faster, lighter-weight alternative to R’s built-in classes.
- pryr
– Make it easier to understand what’s going on in R.
- roxygen
– 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
– 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
– An interactive R tutorial directly in your R console.
- DataScienceR
– 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
- R for Data Science by Garrett Grolemund & Hadley Wickham – Free book from RStudio developers with emphasis on data science workflow.
- R Cookbook by Winston Chang – A problem-oriented online book that supports his R Graphics Cookbook, 2nd ed. (2018).
- Advanced R, 2nd ed. by Hadley Wickham (2019)
– An online version of the Advanced R book.
- R Packages, 2nd ed. by Hadley Wickham & Jennifer Bryan – A book (in paper and website formats) on writing R packages.
- Books written as part of the Johns Hopkins Data Science Specialization:
- Exploratory Data Analysis with R by Roger D. Peng (2016) – Basic analytical skills for all sorts of data in R.
- R Programming for Data Science by Roger D. Peng (2019) – More advanced data analysis that relies on R programming.
- Report Writing for Data Science in R by Roger D. Peng (2019) – R-based methods for reproducible research and report generation.
- R for SAS and SPSS users by Bob Muenchen (2012) – An excellent resource for users already familiar with SAS or SPSS.
- Introduction to Statistical Learning with Application in R by Gareth James et al. (2017) – A simplified and “operational” version of The Elements of Statistical Learning. Free softcopy provided by its authors.
- The R Inferno by Patrick Burns (2011) – Patrick Burns gives insight into R’s ins and outs along with its quirks!
- Efficient R Programming by Colin Gillespie & Robin Lovelace (2017) – An online version of the O’Reilly book: Efficient R Programming.
- The R Programming Wikibook – A collaborative handbook for R.
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
- R Books List – List of R Books.
- Readings in Applied Data Science – These readings reflect Hadley’s personal thoughts about applied data science.
Podcasts
- Not So Standard Deviations – The Data Science Podcast.
- R World News – R World News helps you keep up with happenings within the R community.
- @Bob Rudis and @Jay Jacobs.
- The R-Podcast – Giving practical advice on how to use R.
- R Talk – News and discussions of statistical software and language R.
- R Weekly – Weekly news updates about the R community.
Reference Cards
- RStudio Cheat Sheets
- R Reference Card 2.0 – Material from R for Beginners by permission of Emmanuel Paradis (Version 2 by Matt Baggott).
- Regression Analysis Refcard – R Reference Card for Regression Analysis.
- Reference Card for ESS – Reference Card for ESS.
MOOCs
Massive open online courses.
- Johns Hopkins University Data Science Specialization – 9 courses including: Introduction to R, literate analysis tools, Shiny and some more.
- HarvardX Biomedical Data Science – Introduction to R for the Life Sciences.
- Explore Statistics with R – Covers introduction, data handling and statistical analysis in R.
Lists
Great resources for learning domain knowledge.
- Books – List of R Books.
- ggplot2 Extensions – Showcases of ggplot2 extensions.
- Natural Language Processing
– NLP related resources in R. @Chinese
- Network Analysis – Network Analysis related resources.
- Open Data – Using R to obtain, parse, manipulate, create, and share open data.
- Posts – Great R blog posts or Rticles.
- Package Development – R packages to improve package development.
- R Project Conferences – Information about useR! Conferences and DSC Conferences.
- RStartHere – A guide to some of the most useful R packages, organized by workflow.
- RStudio Addins – List of RStudio addins.
- Topic Models – Topic Models learning and R related resources.
- Web Technologies – Information about how to use R and the world wide web together.
R Ecosystems
R communities and package collections (in alphabetical order):
- rOpenGov Open government data, computational social science, digital humanities
- rOpenHealth Public health data
- rOpenSci Open science
2018
- fable – univariate and multivariate time series forecasting models
- r2d3 – R Interface to D3 Visualizations
- rstats-ed – List of courses teaching R
- promises – Abstractions for Promise-Based Asynchronous Programming
- tinytex – A lightweight and easy-to-maintain LaTeX distribution
- 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.