Skip to content

Latest commit

 

History

History
940 lines (803 loc) · 86.9 KB

File metadata and controls

940 lines (803 loc) · 86.9 KB

Notable R Packages for Data Science

Author: Luca Valnegri
Last Updated: 24-Feb-2021



  • fst - A new and fast way to store dataframes/data.tables to disk, even with data compression.
  • feather - Store dataframes to disk lightning fast and shareable between R and Python.
  • readr - Provide a fastest way to read rectangular data than core R functions, in case of huge files
  • rio - The aim of rio is to make data file I/O in R as easy as possible by implementing just a few simple functions: import, export and convert.
  • openxlsx - Provide an interface to writing, styling and editing Excel files
  • readxl - Easiest way to reading Excel files, without using JAVA dependencies
  • XLConnect - Comprehensive and cross-platform package for manipulating Excel files (requires Java)
  • xml2 - R binding to the C parser libxml2, making it easy to work with HTML and XML documents
  • jsonlite - A Robust, High Performance JSON Parser and Generator
  • downloader - Wrapper for base R download function that eases dealing with files over https
  • googlesheets - Easily read data into R from Google Sheets
  • rdrop2 - R interface for Dropbox
  • foreign - Provides I/O functionalities towards read other statistical software
  • haven - Allow reading and writing SPSS, SAS and Stata files. Part of the tidyverse.
  • stringr - Easy to learn tools for text manipulation, regular expressions included. Most functions are prefixed with str_ so they are very easy to remember.
  • glue - Potentially, the best replacement for the paste function
  • lubridate - Tools that make working with dates and times easier.
  • hms - Tools for working with date and time
  • forcats - Tools for working with factors (categorical variables)
  • qdapRegex - Collection of reg-expr tools built in the context of discourse analysis (see qdap package), though often useful outside of it
  • data.table 😍 - An alternative way to organize data sets for very, very fast operations. Useful when dealing with large data sets.
  • dplyr - Essential SQL-like shortcuts for subsetting, summarizing, rearranging, and joining together data sets. An easy to use substitute for split-apply-combine functionality in Base R:
    • split a data structure into groups
    • apply a function on each group
    • combine and return the results in a possibly different data structure
  • tidyr - Provides functionality for changing the layout of any dataframe, like gather and spread, to convert datasets in a tidy format. Upscale version of the now superseeded reshape2
  • gdata - Provides various tools for data I/O, manipulation and wrangling
  • purrr - Provides lots of functional programming tools, including important features from other languages
  • furrr - Combines purrr’s family of mapping functions with future’s parallel processing capabilities
  • magrittr - Provides a set of operators which make the code more readable
  • wrapr - Provedes functionalities for writing and debugging R code.
  • sjmisc - Collection of miscellaneous utility functions, designed to work together seamlessly with packages from the tidyverse, and sjPlot.
  • plyr - Even if mostly superseeded by dplyr, it is still great when dealing with lists
  • scales - Provide functions to implement scales in a way that is graphics system agnostic
  • xda - Contains several tools to perform initial exploratory analysis on any input dataset.
  • funModeling - Contains several tools to perform data cleaning, importance variable analysis and model perfomance
  • gmodels - Various functionalities for model fitting
  • questionr - Provides functions to make surveys processing easier
  • janitor - Simple tools for data cleaning
  • rowr - Allows the manipulation of R objects as if they were organized rows in a way that is familiar to people used to working with databases.
  • data.tree - Provides functionalities to manage hierarchical data and tree structures
  • fastmap - Implements maps (key-value store), stacks, and queues
  • validate - Provides functionalities to firstly define data validation rules independent of the code or dataset, then confront a dataset, or various versions thereof, with the rules.
  • dataCompareR - Allows users to compare two datasets and view a report on the similarities and differences.
  • classInt - Commonly used methods for choosing univariate class intervals, mainly for data visualization purposes
  • matrixStats - High-performing functions operating on rows and columns of matrices, optimized per data type and submatrices
  • skimr - A frictionless, pipeable approach to dealing with summary statistics
  • Hmisc - Miscellaneous functions for various tasks. Highlights are: describe, a more robust summary function; Cs, creates a vector of strings from unquoted strings wrapped in standard c.
  • DT 😍 - R interface to the DataTables JS library
  • formattable -
  • rhandsontable - R interface to the handsontable JS library
  • table1 - Allows to easily generate LaTeX-style tables of descriptive statistics with HTML output
  • ztable -
  • R3port -
  • highlightHTML -
  • huxtable - Provides functionalities to create modern LaTeX and HTML tables
  • flextable - Provides a framework to easily create tables for reporting with RMarkdown/Shiny or Word/Powerpoint
  • kableExtra - Add functionalities to kable package to construct more complex tables. It can also be added to formattable.
  • pixiedust - Provide functionalities for building customized tables in R output
  • sparktable - Allows to include sparklines and graphical tables for TeX and HTML formats
  • rpivotTable -
  • D3TableFilter - R interface to the TableFilter JS library,
  • listviewer - R interface to jsoneditor, lets interactively view and maybe modify lists.
  • xtable - Allows to build LaTeX-like table with HTML output.
  • microplot - Provides functionalities to insert R graphics files as microplots or sparklines in tables in either LaTeX, HTML, Word, or Excel files
  • sparkline - R interface to the sparkline jquery library
  • htmlTable - Allows to generate tables using HTML formatting. This format is compatible with Markdown when used for HTML-output.
  • tableHTML - Provides functionalities for easily creating CSS-ible Shiny-compatible HTML tables
  • basictabler - Construct tables for output to HTML/Excel natively in R, with some style functionalities
  • pivottabler - Create Pivot Tables natively in R, with some style functionalities
  • ggplot2 😍 - The most famous package for making amazing graphics in R. ggplot2 lets you use the grammar of graphics to build layered, customizable plots.
  • ggvis - Interactive, web based graphics built like ggplot2 with the grammar of graphics |- lattice - Implementation of Trellis graphics for R, in some ways the main competitor to ggplot
  • latticeExtra - Add further functionalities to the lattice package
  • googleVis - Wrapper for the Google Chart API
  • corrplot - Visualize correlation matrix using correlogram
  • corrgram - Visualize correlation matrix using correlogram
  • ggparallel - Set of functions to draw parallel coordinate plots for categorical data
  • vcd - Visualization tools and tests for categorical data
  • vcdExtra - Complement to the vcd and the gnm packages
  • gridExtra - Provides a number of user-level functions to work with grid graphics
  • animint2 - Provide tools to design multi-layer, multi-plot, interactive, and possibly animated data visualizations using ggplot2, and rendering with D3
  • sjplot - Collection of plotting and table output functions for data visualization, with a focus on Statistics in Social Science
  • trelliscope - Provides a scalable way to flexibly visualize large, complex data in great detai
  • tabplot - Provides visualization methods to explore and analyse large multivariate datasets.
  • treemap - Provides functionalities for drawing treemaps
  • circlize - Provides an implementation of circular layout generation
  • rCharts install_github('ramnathv/rCharts') - allow for interactive JS charts from R
  • clickme install_github('nachocab/clickme') - allow for interactive JS charts from R
  • rcdimple - R interface to the dimple JS charts library, an object-oriented API for business analytics.
  • timevis - Interactive timeline visualizations in R.
  • alluvial - Provides functions to draw alluvial diagrams (see also the ggalluvial extension gor ggplot2)
  • iheatmapr - Allows to build complex and interactive heatmaps using modular building blocks.
  • riverplot - Allows the creation of a basic type of Sankey diagrams
  • pheatmap - Provides fine grained control over heatmap dimensions and appearance.
  • heatmap3 - An improved package for heatmaps visualizations
  • catmaply - Interactive heatmaps for categorical variables
  • animation - A set of utilities to create and export animations to a variety of formats
  • tweenr - Provides functions to interpolate data between different states
  • misc3d - Miscellaneous functions for three dimensional plots
  • hexbin - Provides bivariate binning into hexagonal cells, in an attempt to override overlapping in scatterplots and maps.
  • dendextend - Extends R core dendrogram functionality
  • voteogram install_github('hrbrmstr/voteogram') - Voting Cartogram Generators (currently limited to U.S. House and Senate)
  • Rgraphviz - Provides plotting capabilities for R graph objects
  • coefplot - Provides functionalities for plotting the coefficients and st.err from a variety of models: lm, glm, glmnet, maxLik, rxLinMod, rxGLM and rxLogit.
  • likert - A package designed to help analyzing and visualizing Likert type items
  • wordcloud2 - R interface to the wordcloud2 JS library
  • DataVisualizations - Provides functionalities for the visualization of High-Dimensional Data
  • colorplaner - visualize two variables through one color aesthetic via mapping to a color space projection.
  • cowplot - Provides functionalities to label and arrange figures created by ggplot2 into a grid., plus custom annotations and styles focused for scientific publications
  • directlabels - Functionalities for automatically placing direct labels onto multicolor plots
  • egg - Miscellaneous functions to help customise multiple ggplot2 objects in different layouts
  • geofacet - Provides geographical faceting functionality
  • geomnet - Provides a geometry to visualize graphs and networks, plus a function to calculate network layouts with the sna package
  • gg3D install_github("AckerDWM/gg3D") - Provides functionalities for three-dim graphs
  • ggallin - Misc extra geoms and scales
  • ggaluvial - Provides geometries to create alluvial diagrams
  • ggally - Reduce the complexity of combining geometric objects with transformed data
  • gggalt - Provides extra coordinate systems, geometries, statistical transformation and scales
  • gganimate - Wraps the animation package to create animated ggplot2 plots
  • ggbeeswarm - Uses either the beeswarm or the vipor library to plot column/violin scatterplots, to avoids overlapping datapoints.
  • ggbuildr - Provides functionalities for saving ggplot objects into multiple files, each with a layer added incrementally.
  • ggChernoff - Provides functionalities to map multivariate data to human-like faces (so called Chernoff faces) with ggpolot2.
  • ggcorrplot - Visualization of a correlation matrix using ggplot2
  • ggdag - An R Package for visualizing and analyzing directed acyclic graphs
  • ggExtra - Add marginal plots to ggplot2
  • ggfittext - Provides a geometry to fit text into boxes
  • ggfocus - Allows to highlight data for a specific subgroup of observations in any ggplot
  • ggforce - Repository of missing functionalities of any nature and type
  • ggfortify - Data Visualization Tools for Statistical Analysis Results in a unified style
  • gghalves install_github('erocoar/gghalves') - Allows to compose half-half plots, like displaying a boxplot next to jittered points, or violin plots side by side with dotplots.
  • gghighlight - Provides functionalitites to highlight conditionally lines and points geometries in ’ggplot2
  • ggimage - Provides integration of image files and graphic objects
  • ggiraph - Provides interaction to some geometries
  • ggiraphExtra - Provides additional interactivity on top of ggiraph
  • gglorenz - plot Lorenz Curves
  • ggmap - Extends the plotting capabilities of ggplot2; in particular, it enables the downloading of background maptiles.
  • ggmcmc - Graphical tools for analyzing Markov Chain Monte Carlo simulations from Bayesian inference
  • ggmosaic - Add mosaic functionality to ggplots
  • ggnetwork - Add geometry to plot networks
  • ggnet install_github('briatte/ggnet') -
  • ggpol - adds parliament diagrams and various other visualizations and convenience functions to ggplot2
  • ggpmisc - Miscellaneous Extensions to ggplot2
  • ggpubr - Provides some easy-to-use functions for creating and customizing ‘ggplot2’- based publication ready plots.
  • ggpval - allows you to perform statistic tests and add the corresponding p-values to ggplots automatically
  • ggRandomForests - Graphical analysis of random forests using the packages randomForestSRC and randomForest
  • ggraph - Supports relational data structures such as networks, graphs, and trees.
  • ggrepel - Provides geometries to repel overlapping text labels
  • ggridges - Provides geometries to make ridgeline, a convenient way of visualizing changes in distributions over time or space (this package replaces ggjoy)
  • ggseas - Provides a geometry that shows seasonal adjustments
  • ggsignif - Provides tools to add annotations for significance tests
  • ggspatial - provides several functions to convert spatial objects to ggplot2 layers
  • ggstance - Implements horizontal versions of the most common geometries, stats, and positions (note that ggplot only flip the entire plot)
  • ggstatsplot - Collection of functions to enhance ggplot2 plots with results from statistical tests
  • ggtern - Extends the functionality of ggplot2, giving the capability to plot ternary diagrams for (subset of) the proto geometries
  • ggTimeSeries install_github('Ather-Energy/ggTimeSeries') - Provides alternative way to display time series
  • ggvoronoi - Provides functionalities to build Voronoi choropleth maps with ggplot2
  • ggwordcloud - Provides a fast wordcloud text geom for ggplot2
  • lemon - Provides added functionalities for axes and legends
  • lindia - Provides linear regression diagnostic plots
  • patchwork install_github("thomasp85/patchwork") - Allows to easily combine separate ggplots into the same graphic
  • plotROC - Provides functions to generate interactive ROC curve plots
  • qqplotr - Provides functionalities for drawing both QQ and PP points, lines, and confidence bands.
  • quickReg - provides functions to display regression models for lm, glm and cox regression
  • survminer - Provides functionalities for survival analysis and visualization
  • treemapify - Provides geometries for drawing treemaps
  • waffle - Provides functionality to make waffle charts (square pie charts)
  • ggedit - Interactively edit ggplot layer aesthetics and theme definitions
  • esquisse - RStudio add-in to make plots with ggplot2
  • ggquickeda -
  • ggplotAssist -
  • ggplotgui - allows users to visualize their data using an online graphical user interface that makes use of ggplot
  • ggThemeAssist - RStudio add-in that provides a GUI for editing ggplot2 themes.
  • simplevis -
  • ggthemes - Collection of various themes and scales
  • ggconf - Concise appearance modification of ggplot2 themes elements
  • ggpomological - A theme inspired by the USDA Pomological Watercolors collection
  • ggsci - Collection of palettes inspired by scientific journals, data viz libraries, science fiction movies, and TV shows
  • ggthemr install_github('cttobin/ggthemr') - Another collection of various themes
  • hrbrthemes - Provides typography-centric themes
  • tvthemes - Themes and palettes based on some people's favourite TV shows
  • mapproj - Provide simple functions to convert from latitude and logitude into projected coordinates.
  • maps - Simple functions to display geographical maps
  • mapview - Interactive visualization of spatial objects in R
  • tmap 😍 - Quick and easy thematic mapping in R, inheriting functionalities from ggplot2, like faceting
  • leafem - Aims to enhance leaflet functionalities to provide a more GIS-like feeling when plotting spatial data interactively.
  • leaflegend - Allows to customize leaflet legends without adding an outside css file, while keeping syntax and style consistent with the leaflet package.
  • leaflet 😍 - Interactive mapping tools, conceived as a htmlwidgets wrapper for leaflet JS library
  • leaflet.extras - Provides extra functionality to the leaflet package using various leaflet plugins
  • leaflet.extras2 - Provides extra functionality to the leaflet package using leaflet plugins not included in leaflet.extras
  • leaflet.minicharts - Provides two functions to add and update small charts on an interactive maps created with the package leaflet.
  • leaflet.opacity - Extends the R leaflet package integrating the Leaflet.OpacityControls JS plugin, that offers control buttons and a slider for adjusting the opacity of a layer.
  • leafpm - Provides map editing and drawing in leaflet maps, from the leaflet-geoman JS plugin, supplementing the leaflet.extras addDrawToolbar() function with better support for snapping and holes.
  • leafpop - Provides functionalities to embed tables, images or graphs in popups of interactive maps created with leaflet or mapview
  • leafsync - Allows to build synchronised small multiples of leaflet maps using the Leaflet.Sync JS plugin.
  • leaftime - Integrates the leaflet-timeline JS plugin into the R leaflet ecosystem
  • linemap - A library for creating geospatial line graphs along lines of latitude
  • micromap - Provides functionalities to create linked micromap plots
  • mapplots -
  • mapmisc - Provides a few utilities for making nice maps in short tidy code chunks which are suitable for knitr documents.
  • cartography - Allows to create easily thematic cartography
  • cartogram ✨ - Construct continuous area cartograms by a rubber sheet distortion algorithm or non-contiguous Area Cartograms (a cartogram is a choropleth map where polygons are sized proportionally to some thematic mapping variable – such as population, GNP, travel time, ... – instead of the usual land area or distance)
  • topogRam ✨ - It's a htmlwidget for creating continuous cartograms, based on a JS implementation of the famous Shawn Allen algorithm.
  • tilegramsR - R interface to the tilegrams library, that allows to build sf spatial objects representing various tilegrams (a tilegram is a cartogram where all polygons are drawn in the same hexagonal shape)
  • recmap - Compute the Rectangular Statistical Cartogram
  • GISTools - Mapping and spatial data manipulation tools
  • greatCircles - Provides functionalities to create great-circle arcs
  • osmplotr - Allows Data visualisation using OpenStreetMap objects
  • osmdata - Allows to download and import OpenStreetMap data as sf or `sp`` objects
  • rosm - Download and plot Open Street Map (and other tiled map sources) using base plotting and sp spatial objects.
  • googleway - Provides access to Google Maps API, and the ability to plot interactive Google Maps
  • autoimage - Provides functionalities for displaying multiple heat maps, possibly with projected coordinates
  • RgoogleMaps - R interface to the Google server for static maps
  • choroplethr - mapping tool
  • datamaps - R htmlwidget for the datamaps JS libary
  • RWorldMap - lets map easily global data
  • rasterVis - raster visualization
  • stplanr - Provides functionalities to convert data on travel behaviour into geographic objects that can be plotted on a map and analysed using typical GIS methodology
  • geogrid - Provides functionalities to turn geospatial polygons into regular or hexagonal grids
  • hexamapmaker install_github("mikkelkrogsholm/hexamapmaker") -
  • hexjsonwidget install_github('psychemedia/htmlwidget-hexjson') - Provides functionalities to display HexJSON maps based on the d3-hexjson library
  • hexmapr install_github("hafen/hexmapr") - Turn geospatial polygons into regular or hexagonal grids
  • sugarbag - Creates tessellated hexagon maps for visualising geo-spatial data
  • -
  • paletteer - An attempt to collect most of the color palettes $R$ packages, using a common interface.
  • RColorBrewer - Provides an easy way to select adequate color palettes for any visualization, following ColorBrewer advises.
  • viridis - Implementation of the python Matplolib viridis color map
  • scico - Palettes for R based on the Scientific Colour-Maps
  • dichromat - Color-blind friendly palettes. Run colorschemes to see a list of all hex RGBs strings.
  • wesanderson - A colour palette inspired by Wes Anderson.
  • LaCroixColoR install_github('johannesbjork/LaCroixColoR') - A colour palette inspired by LaCroix palettes.
  • pals - Extensive collection of colormaps and palettes, with multiple tools to evaluate them.
  • rwantshue install_github('hoesler/rwantshue') - Palette inspired by IWantHue
  • munsell - Provides easy access to, and manipulation of, the Munsell colours
  • Polychrome - Provides a few qualitative palettes with many colors
  • yarrr - While providing functionalities to build a pirateplot (which is a boxplot-like chart that shows simultaneously raw data as points, descriptive stats as lines/bars), and inferential stats as bands), there are quite a few palettes included, just use piratepal() to display them all.
  • jcolors - Another selection of ggplot2 color palettes. Run display_all_jcolors() to display them all
  • colorspace - Provides color palettes based on HCL colors. Also included an interactive GUI color picker
  • qualpalr - Another package able to generate distinct qualitative color palettes inspired by IWantHue
  • randomcoloR - Simple methods to generate attractive random colors, as a wrapper of the JS library randomColor.js, or optimally distinct colors based on k-means, inspired by IWantHue
  • visibly - Various functionalities to create and manage palettes
  • Cairo - R graphics device using the Cairo Graphics Library for creating high-quality graphics output
  • icon install_github('ropenscilabs/icon') - Lets insert web icons, including font awesome, academicons and ionicons, into RMarkdown documents.
  • fontawesome install_github('rstudio/fontawesome') - Allows to easily insert font awesome icons into RMarkdown docs and Shiny apps
  • anicon install_github('emitanaka/anicon') - Allows for easy insertion of animated font awesome and academicons icons into RMarkdown documents or Shiny apps.
  • emojifont - Provides functionalities to use emoji and font awesome icons in both base and ggplot2 graphics.
  • emo(ji) install_github('hadley/emo') - Makes it very easy to insert emoji into RMarkdown documents.
  • extrafont -
  • fontcm -
  • gfonts -
  • giphyr - Makes it easy to insert GIFs into rmarkdown presentation, only if using RStudio.
  • multicolor -
  • showtext -
  • SpatPCA - Facilitates Regularized Principal Component Analysis for Spatial Data
  • stats - Part of R core, contains functions for statistical calculations and random number generation
  • infer - Provides a tidyverse expressive statistical grammar to perform statistical inference
  • broom - Convert Statistical Analysis Objects into Tidy Data Frames
  • ggeffects - Create tidy dataframes of marginal effects for ggplot2 from model outputs
  • modelr - Helper functions for modelling (full documentation is available in the online book R for Data Science, mostly in the Model basics chapter)
  • car - Contains functions and datasets associated with the book An R Companion to Applied Regression. Functions herein could be applied to a fitted regression model, perform additional calculations on the model or possibly compute a different model, and then return values and graphs.
  • regViz - Provides visualization of regression models, pointwise confidence bands, partial residuals as well as outliers and other deviations from modeling assumptions.
  • rms -
  • gnm - Provide functions to specify and fit generalized nonlinear models
  • mgcv - Functionalities for fitting and working with GAMs (Generalized Additive Models), GAMMs (Generalized Additive Models) and other Generalized Ridge Regression
  • gam - Functionalities for fitting and working with GAMs
  • gamlss - Main package for the Evaluation of Generalized Additive Models for Location Scale and Shape.
  • nlme core - Fit and compare Gaussian Linear and Non-linear Mixed Effects models
  • lme4 - Linear and Non-linear Mixed Effects models, using S4 classes and algorithms from the Eigen C++ library, via the RcppEigen interface layer
  • multcomp - Tools for multiple comparison testing
  • glmnet - Lasso and elastic-net regularized GLM with cross validation
  • CVXR - Provides an object-oriented modeling language for convex optimization.
  • lars - Alternative package for glmnet
  • biglasso - Extend lasso and elastic-net model fitting to Big Data
  • survival - Tools to perform survival analysis
  • dismo - Boosted Regression Trees for ecological modeling
  • caret - Tools for Classification And Regression Training models, with the intent to combine model training and prediction. A set of functions that attempt to streamline the process for creating predictive models
  • mlr - R Interface to a large number of classification and regression techniques.
  • class - Various functions for classification, including kNN, LVQ and SOM.
  • h2o - Open Source Fast Scalable Machine Learning API that provides implementations of many popular algorithms in one single platform.
  • klaR - Miscellaneous functions for classification and visualization
  • randomForest - Classification methods used to create large number of decision trees, then each observation is inputted into the decision tree. The common output obtained for maximum of the observations is considered as the final output.
  • ranger - A Fast Implementation of Random Forests
  • e1071 - Latent class analysis, support vector machine, fuzzy clustering, Fourier transforms, shortest path computation, bagged clustering, naive Bayes classifier, ...
  • tree - Classification and regression trees.
  • rpart - Recursive Partitioning And Regression Trees: classification/regression models using a two stage procedure, with the resultant model represented in the form of binary trees
  • party - recursive partitioning, using ensemble methods, to build decision trees based on Conditional Inference algorithm
  • partykit - A Toolkit for Recursive Partytioning
  • arules - Mining Association Rules and Frequent Itemsets
  • nnet - Feed-forward Neural Networks and Multinomial Log-Linear Models
  • neuralnet - Training of neural networks using back-propagation
  • kknn - Weighted k-Nearest Neighbors for Classification, Regression and Clustering
  • kernlab - KERNel-based Machine Learning LABoratory
  • C50 -
  • xgboost - Efficient implementation of the gradient boosting framework from Chen & Guestrin
  • gbm - Gradient Boosting Machine
  • AppliedPredictiveModeling -
  • earth -
  • mda - (kappa statistics)
  • tau - Text Analysis Utilities
  • tidytext - Text mining using tidyverse tools
  • tm - A framework for text mining applications within R.
  • ada - Stochastic Boosting
  • adabag - Classification with Boosting and Bagging technical article
  • RoogleVision - Image Recognition, Object Detection, and OCR using the Google's Cloud Vision API
  • magick - Advanced High-quality image processing in R
  • zoo - Provides the most popular format for saving and handling with time series objects in R.
  • xts - Extensible time series class that provides uniform handling of many R ts classes by extending zoo.
  • timetk - Formerly timekit, it's a collection of tools for working with time series
  • forecast - Makes it incredibly easy to fit time series models like ARIMA, ARMA, AR, Exponential Smoothing, etc.
  • sweep - Tries to link the forecast package with the tidyverse, so to extend the broom tools for forecasting and time series analysis
  • prophet - Forecasting tool from Facebook
  • tibbletime - Provides functionalities for time-aware tibbles
  • igraph - A collection of network analysis tools, based on the igraph library
  • visNetwork - R interface to the open-source JS library vis.js
  • networkD3 - network graphs
  • DiagrammeR - R interface to the open-source JS libraries mermaid.js and Graphviz, capable of generating diagrams and flowcharts from text in a similar manner as markdown.
  • sna - A range of tools for Social Network Analysis
  • SigmaNet - Provides functionalities for rendering graphs created using the igraph package
  • sf 👍 - Support for simple features, a new standardized way to encode spatial data, with bindings to GDAL, GEOS and Proj.4.
  • sp 👍 - Provides classes and methods for spatial data
  • rgdal 👍 - R interface to the popular C/C++ Geospatial Abstraction Library GDAL, that enables R to handle a broader range of spatial data formats.
  • rgeos 👍 - Tools for handling spatial operations on topologies. R interface to the powerful vector processing library geos
  • maptools 👍 - Provides various functions for manipulating and reading spatial data from various formats
  • rmapshaper 👍 - R interface to the mapshaper JS library for Geospatial Operations
  • tmaptools 👍 - Add-on package for tmap that provides utilities for reading and processing shapefiles and simple features formats Plus, tmaptools::palette_explorer() is a great tool for picking ColorBrewer palettes
  • mapedit - Interactive editing of spatial data
  • geojson - Provides classes and methods for spatial data defined as GeoJSON.
  • geojsonio - Functions to convert from/to geojson objects
  • osrm - R interface to the OSRM API routing service, based on OpenStreetMap data, that allows to compute distances (travel time and kilometric distance) between points and travel time matrices.
  • raster - Provides functionalities for reading, writing, manipulating, analyzing and modeling of gridded spatial data
  • GEOmap -
  • PSBmapping -
  • landmap - Spatial prediction using Ensemble Machine Learning algorithms
  • geoaxe install_github('ropenscilabs/geoaxe') - Provides tools to split geospatial objects into pieces
  • geoops install_github('ropenscilabs/geoops') - Provides spatial operations on GeoJSON that work with the geojson package
  • siftgeojson install_github('ropenscilabs/siftgeojson') - Provides functions to slice and dice GeoJSON just as easily as a data.frame. It is built on top of jqr, an R wrapper for jq, a JSON processor.
  • geosphere - Spherical trigonometry for geographic applications: measures for angular (longitude/latitude) locations.
  • photon install_github('rCarto/photon') - R Interface to the OS geocoder Photon API, built for OpenStreetMap data, that gives you back the results in a convenient data frame structure.
  • mapsapi - Interface to the Directions, Distance Matrix and Geocode 'Google Maps APIs
  • RQGIS - Establishes an interface between R and QGIS, that allows access to QGIS functionalities from within R.
  • spatstat - Spatial Point Pattern analysis
  • spdep - A collection of functions and tests for evaluating spatial dependence
  • gstat - Functions for spatial and spatio-temporal geostatistical modeling, prediction and simulation
  • geoR - Provides functionalities for geostatistical data analysis
  • geoRglm - Functions for inference in generalised linear spatial models
  • KRIG - Spatial Statistic with Kriging
  • spatialEco - Provides functionalities for spatial analysis and modelling, mostly for ecological systems
  • whiteboxR install_github('giswqs/whiteboxR') - Frontend for the stand-alone executable command-line program WhiteboxTools, part of the Whitebox GAT Project
  • georob - Robust Geostatistical Analysis of Spatial Data
  • fields - Various tools for the analysis of Spatial data
  • stars - (Proposed package) Provides functionality for handling dense spatiotemporal data as tidy arrays
  • GWmodel - Geographically weighted models
  • remap - Automated Regional Spatial Modeling with Continuous Borders
  • spatgraphs - Graph Edge Computations for Spatial Point Patterns
  • nngeo - K-nearest neighbor search for projected and non-projected sf spatial layers
  • geozoning - Provides functionalities for zoning spatial data
  • spcosa - Spatial coverage sampling and random sampling from compact geographical strata created by k-means
  • dissever - Provides methods for general method for spatial downscaling
  • spacetime -
  • trajectories -
  • akima - for spline interpolation
  • deldir - Functions to calculate and manipulate Delaunay Triangulations and Dirichlet or Voronoi tessellations of points datasets
  • sparr - Provides functionalities for estimating spatial and spatiotemporal Relative Risk
  • lawn - R client for turf.js, an Advanced geospatial analysis for browsers and node. It also wraps some functions from the Node package geojson-random
  • emdi - Provide functionalities that support estimating, assessing and mapping regional disaggregated indicators
  • PBSmapping - Born as a tool to map fisheries data, it's evolved as a generic spatial extension for R.
  • SpatialTools - Provides functionalities for spatial prediction and simulation, with some emphasis on kriging and spatio-temporal data analysis
  • btb - Kernel Density Estimation dedicated to Urban Geography, that allows you to square and smooth geolocated data
  • nngeo - provide k-nearest neighbor join capabilities for spatial analysis
  • DALEX - A set of tools that help to understand how complex machine learning models are working.
  • ROCR - Visualizing the performance of scoring classifiers
  • pROC - Display and Analyze ROC Curves
  • plotROC - Provides functions to generate interactive ROC curve plots
  • PROC -
  • TimeROC -

👆Back to Index

Data Presentation

  • rmarkdown 😍 - The perfect workflow for reproducible reporting. Write R code in your markdown reports. When you run render, R Markdown will replace the code with its results and then export your report as an HTML, pdf, or MS Word document, or a HTML or pdf slideshow. The result? Automated reporting. R Markdown is integrated straight into RStudio.
  • shiny 😍 - Easily make interactive, web apps with R. A perfect way to explore data and share findings with non-programmers.
  • shinydashboard - Makes it easy to use Shiny to create dashboards-like Web apps.
  • shinydashboardPlus - Enrich a shinydashboard app with some additional functionalities.
  • flexdashboard - A flexible and easy way to specify row and column-based layouts, to publish a group of related data visualizations as a dashboard.
  • argonDash - Bootstrap 4 shiny dashboard using the Argon Dashboard template.
  • bs4Dash - Bootstrap 4 shiny dashboard using the AdminLTE3 template.
  • shinybulma - Simple CSS shiny dashboards using the Bulma framework.
  • shinyMobile - Allows to build shiny apps and gadgets using the Framework7 template.
  • blogdown - Provides functionalities to easily generate static websites based on RMarkdown and Hugo
  • bookdown - Built on top of RMarkdown, makes it really easy to write books and long-form articles/reports.
  • pagedown -
  • knitr - Provides functionalities to bundle together R snippets and markdown documents, to easily generate automated reports in various formats.
  • officer - Allows to manipulate Word (.docx) and PowerPoint (.pptx) documents
  • -
  • aniview - Allows to animate Shiny and RMarkdown content as it comes into view using the animate-css and AniView libraries.
  • bsplus - Provide a framework to facilitate the use of Bootstrap's JavaScript-markup API inside rmarkdown HTML documents and Shiny apps
  • bubblyr -
  • capture install_github('dreamRs/capture') - Captures, and saves as PNG or PDF, screenshots in Shiny apps or RMarkdown documents, either of the entire viewable page, or a specific section of the page, using the dom-to-image and jsPDF JS libraries. See also shinyscreenshot, which is on CRAN.
  • cicerone -
  • colourpicker 👍 - Provides a colour picker tool for Shiny apps
  • corazon - Allows to incorporate colorffy gradient colors within Shiny elements, but mainly for the app’s body.
  • cronologia -
  • dashboardthemes - Provides functionalities to create new themes and logos for Shiny dashboards
  • dragulaR - R interface for the dragula JS library, that allows to move around elements in a shiny app.
  • ECharts2Shiny - R interface to the ECharts JS library, now an an incubator project of the Apache Software Foundation
  • fabricerin -
  • flipdownr install_github("feddelegrand7/flipdownr") - Creates Countdown objects within RMarkdown documents and Shiny apps. While it's on CRAN, you can add the GitHub version to try additional themes.
  • fresh -
  • gotop - Allows to dd a scroll back to top with a font awesome icon to RMarkdown documents and Shiny app susing the GoTop JS library
  • gradientPickerD3 - Allows to add gradient choosers to Shiny apps, as implemented in the Gradient Picker jQuery plugin.
  • jsTree - Shiny integration with the jsTree JS library
  • keys - Allows to add shortcut keys to Shiny apps using the Mousetrap JS library
  • mailtoR - Implements a GUI for emails sending within a Shiny app, as a wrapper for the Mailtoui JS library.
  • midas - Convert HTML/XML native code into lists or shiny function(s) that would generate the equivalent shiny object(s) - shinyBS - Add additional functionality and interactivity to Shiny apps, like Alerts, Tooltips and Popovers
  • miniUI - Provides UI widget and layout functions for writing Shiny apps that work well on small screens.
  • polished - Provides functionalities for modern authentication and user administration to any Shiny app
  • prompter -
  • r2symbols -
  • rclipboard -
  • [regexSelect](https:// - - github.com/yonicd/regexSelect) - Enables regular expression searches within a Shiny selectize object.
  • rintrojs - R interface to the Introjs JS library that let users easily add instructions to their web applications
  • scrollrevealR - Allows to animate Shiny elements when they scroll into view using the ScrollReveal JS library. Notice that you need to buy a Commercial License if you want to use either in development or in production for commercial usage.
  • semantic.dashboard -
  • sever - Allows to create custom disconnect screens and error messages for any Shiny app
  • shiny.info -
  • shiny.semantic -
  • shiny.worker -
  • shinyAce - Enables Shiny developers to use the Ace text editor in their apps.
  • shinyalert - Create pretty modals popup messages
  • shinyanimate - An extension for the animate.css library, that allows to add animations to any UI element in a shiny app.
  • shinycssloaders 👍 - Add spinners (object loader animations) from Luke Haas's css-loaders to Shiny outputs in an automated fashion.
  • shinycustomloader - Extension to the previous shinycssloaders package that allows for custom css/html or gif/image file to include in the loading screen. There are also twelve additional built in css/html loading screen.
  • shinydisconnect - Shows a custom message when a Shiny app disconnects or any error happens
  • shinyDND - Provides functionalities to create drag and drop elements in Shiny apps.
  • shinyFeedback - Displays user feedback next to shiny inputs
  • shinyFiles - Provides a shiny extension for server side file access
  • shinyfullscreen -
  • shinyhelper - Allows to add help documentation to shiny inputs and outputs, using RMarkdown files
  • shinyhttr - Integrates httr::progress with shinyWidgets::progressBar
  • shinyjqui - R wrapper for the jQuery UI javascript library, that allows users to easily add interactions and animation effects to a Shiny app.
  • shinyjs 👍 - It lets you perform common useful JS operations in Shiny apps without having to actually know any JS
  • shinyLP - Provide Bootstrap components to make landing home pages for Shiny apps
  • shinymaterial - Implements Material Design in Shiny apps
  • shinyobjects -
  • shinyscreenshot - Captures, and saves as PNG images, screenshots in Shiny apps, either of the entire viewable page, or a specific section of the page, using the html2canvas JS library. See also captureand snapper, but these are not on CRAN.
  • shinysense install_github("nstrayer/shinysense") - Shiny modules to help shiny recall data from more than the keyboard
  • shinytest - Provides tools for creating and running automated tests on Shiny apps
  • shinythemes - Makes it easy to alter the overall appearance of any Shiny app
  • shinyWidgets 👍 - Provides custom input widgets for Shiny apps. See the live version of the vignette here
  • snapper install_github('yonicd/snapper') - Captures, and saves as PNG images, screenshots of html objects in Shiny apps using the html2canvas JS library. See also shinyscreenshot, which is on CRAN.
  • supreme - A tool to help developers to either visualize the structure of a Shiny that's been developed with modules, or design a new app from scratch
  • tippy - Allows to add Tooltips to RMarkdown Documents and Shiny apps using *htmlwidgets and the tippy.js JS library.
  • waiter -
  • Matrix - Sparse and Dense Matrix Classes and Methods
  • svd - Interface to Lanczos SVD and eigensolvers from R
  • irlba - Provides a fast way to compute partial SVDs and principal component analyses of very large scale data
  • OpenMx - Matrix optimizer, ofetn used to fit general SEM (structural equation models)
  • fitdistrplus - Extends the fitdistr function of the MASS package with several functions to help the fit of univariate parametric distributions to censored or non-censored data, using a plethora of different methods.
  • boot - bootstrap calculations
  • deSolve -
  • cvTools -
  • laeken -
  • rlecuyer -
  • quantmod - Tools for downloading financial data, plotting common charts, and doing technical analysis.
  • PerformanceAnalytics - Provides functionalities to assess performance and risk analysis of financial instruments or portfolios.
  • TTR - Provides Technical analysis functionalities to construct technical trading rules.
  • tidyquant - Financial package useful for importing, analyzing and visualizing data, as well as integrating aspects of other financial packages with tidyverse tools.
  • Quandl - Get financial and economic datasets from hundreds of publishers directly into R. Free plan for open data, paid plans for all othet sources
  • fMultivar - Analysis and Modeling of Multivariate Financial Return Distributions
  • BatchGetSymbols - Downloads and Organizes Financial Data for a large number of Tickers using Yahoo or Google Finance.

Bioconductor provides tools for the analysis and comprehension of high-throughput genomic data. The biocLite() command is the recommended way to install Bioconductor packages: Bioconductor has a repository and release schedule that differs from R. Run source('http://bioconductor.org/biocLite.R') to get the latest version of Bioconductor.

  • psych - Procedures for Psychological, Psychometric, and Personality Research
  • Rcpp - Write R functions that call C++ code for lightning fast speed.
  • future - Provides a lightweight and unified Future API for sequential and parallel processing of R expression via futures
  • promises - Allows asynchronous programming capabilities, that increase scalability and responsiveness, especially to Shiny apps.
  • parallel core - Use parallel processing in R to speed up your code or to crunch large data sets.
  • foreach -
  • doMC - Multicore processing
  • multicore - ...
  • doSNOW - ...
  • SOAR - Memory management by delayed assignments
  • rbenchmark - ...
  • sparklyr - R interface for Apache Spark, data engine for large-scale data processing, that also provides a complete dplyr backend and access to Spark distributed machine learning library.
  • bigrquery - R interface to Google BigQuery
  • bigQueryR - A less developed R interface to Google BigQuery, but uses googleAuthR as backend, and therefore has Shiny support
  • datadr - Provides methods for dividing large and complex datasets into subsets, applying analytical methods to the subsets, and recombining the results.
  • RHIPE - Provides a way to use Hadoop from R. Installation of RHIPE requires a working Hadoop cluster and several prerequisites.
  • ddR - Standard API for Distributed Data Structures in R
  • analogsea - R client for version 2 of the Digital Ocean API
  • piggyback - Allows larger (up to 2 GB) data files to piggyback on a repository as assets attached to individual GitHub releases.
  • RCurl - R-interface to the libcurl library, that provides HTTP facilities: composition of general HTTP requests, functions to fetch URLs, to get and post web data
  • httr - A set of useful tools for working with http connections, especially pulling data from APIs
  • htmltools - Tools for HTML generation and output
  • rvest Provides functionality for web scraping, extracting data from HTML pages, in a similar manner as Python's Beautiful Soup. Works well with Selectorgadget.
  • blastula - Easily send great-looking HTML email messages from R
  • htmltab - Easily scrapes table from web pages and returns formatted dataframes
  • webreadr - A set of wrappers and functions for reading, munging and formatting data from access logs and other sources of web request data.
  • pageviews - An API client library for Wikimedia pageview data
  • birdnik - R client for the Wordnik dictionary (require access tokens)
  • w3wr - R client for the what3words maps service (require access tokens)
  • alphavantager - R client for Alpha Vantage, an API for retreiving real-time and historical financial data (require access tokens)
  • devtools - An essential suite of tools for turning code into an R package
  • testthat - An easy way to write unit tests for any code projects.
  • roxygen2 - A quick way to document any R packages. roxygen2 turns inline code comments into documentation pages and builds a package namespace.
  • lintr - Static code analysis for R
  • htmlwidgets - A fast way to build interactive (javascript based) displays and visualizations. See also the gallery
  • log4r - A simple logging system for R, based on log4j
  • installr - (Windows only) Allows to easily update the installed version of R from within R
  • reticulate - R Interface to Python
  • git2r - Provides tools for programmatic access to Git repositories, using the libgit2 library
  • rgithub - R Bindings for the Github API
  • gistr - R interface to GitHub's gists
  • profvis -
  • googleAuthR - Shiny compatible R interface to select Google API Client Libraries. Easy authentication with OAuth2.
  • webshot - It makes it easy to take screenshots of web pages from R. It requires an installation of PhantomJS, that could be installed from inside R using webshot::install_phantomjs()
  • plumber - Allows to create a REST API
  • gmailR - Provides a way to send gmail message from R with attachments.
  • hexSticker - Provides a function to create Hexagon stickers
  • slackr - R interface to the Slack messaging platform
  • diffobj - Generate a colorized diff of two R objects for an intuitive visualization of their differences
  • editr - Basic editor for Rmarkdown documents with instant previewing. Alternative way to R Notebooks
  • pacman - A package management tools for R
  • reinstallr - Simple tool to identify and reinstall missing packages
  • countrycode - Standardize country names, convert them into one of eleven coding schemes, convert between coding schemes, and assign region descriptors.