Awesome R
A curated list of awesome R packages and tools. Inspired by awesome-machine-learning .
for Top 50 CRAN downloaded packages or repos with 400+
2023
2020
-
VSCode - vscode-R + vscode-r-lsp VSCode R Langauage Support
-
gt - Easily generate information-rich, publication-quality tables from R
-
lightgbm - Light Gradient Boosting Machine.
-
torch - Tensors and Neural Networks with ‘GPU’ Acceleration.
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-IDE - 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.
-
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.
-
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.
-
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.
-
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.
-
DataExplorer - Fast exploratory data analysis with minimum code.
Packages for reading and writing data of different formats.
-
arrow - An interface to the Arrow C++ library.
-
feather - Fast, interoperable binary data frame storage for Python, R, and more powered by Apache Arrow.
-
fst - Lightning Fast Serialization of Data Frames for R.
-
haven - Improved methods to import SPSS, Stata and SAS files in R.
-
jsonlite - A robust and quick way to parse JSON files in R.
-
qs - Quick serialization of R objects.
-
readxl - Read excel files (.xls and .xlsx) into R.
-
readr - A fast and friendly way to read tabular data into R.
-
rio - A Swiss-Army Knife for Data I/O.
-
readODS - Read OpenDocument Spreadsheets into R as data.frames.
-
RcppTOML - Rcpp Bindings to C++ parser for TOML files.
-
vroom - Fast reading of delimited files.
-
writexl - Portable, light-weight data frame to xlsx exporter for R.
-
yaml - R package for converting objects to and from YAML.
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’
-
httpgd - Asynchronous http server graphics device for R.
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’
-
targets - Make-like pipeline tool for organizing and running data science workflows, automatically skipping steps that have already been done. Supported by rOpenSci.
-
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.
-
golem - A framework for building production-grade Shiny apps.
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.
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.
-
reticulate - Interface to ‘Python’.
-
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
-
lightgbm - Light Gradient Boosting Machine.
-
lme4 - Mixed-effects models
-
nlme - Mixed-effects models, handling user-specified matrix of residual covariance, relevant for the analysis of repeated observations in longitudinal trials
-
glmmTMB - Generalized mixed-effects models, handling user-specified matrix of residual covariance, relevant for the analysis 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
-
tidymodels - A collection of packages for modeling and statistical analysis that share the underlying design philosophy, grammar, and data structures of the tidyverse.
-
torch - Tensors and Neural Networks with ‘GPU’ Acceleration.
-
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.
-
corporaexplorer - Dynamic exploration of text collections
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
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.
-
renv - 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.
-
box - A modern 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.
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.
-
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
-
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.
Other Awesome Lists
Contributing
Your contributions are always welcome!
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License - CC BY-NC-SA 4.0