Courses & TutorialsProgramming

Awesome R – Massive Collection of Resources

A curated list of awesome R packages and tools.

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 heartvscode-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
  • 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 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
  • fable – a collection of commonly used univariate and multivariate time series forecasting models
  • 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

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button