/Awesome-R-packages

A curated list 📄 of awesome 🌟 R packages 🌟 (WORK IN PROGRESS)

StackOverflow Github Repositories Entries Awesome

R is a language and environment for statistical computing and graphics.

This is a curated list 📄 of awesome 🌟 R packages 🌟. These are some of the most relevant packages of the R community.

😍 Is your favourite package missing? 😍 Let me know! 🤔

Some visual examples of what R is able to do - Awesome R packages

Index

More soon...

IDE

Ok, most of them are no packages, but you also need one.

  • RStudio. A powerful and productive user interface for R. Works great on Windows, Mac, and Linux.
  • R Commander. A package that provides a basic graphical user interface.
  • RKWard. An extensible IDE/GUI for R.
  • 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.
  • IRkernel. R kernel for Jupyter.
  • Deducer. A Menu driven data analysis GUI with a spreadsheet like data editor.
  • Radiant. A platform-independent browser-based interface for business analytics in R, based on the Shiny.
  • Vim-R. Vim plugin for R.
  • PyCharm with R plugin.
  • 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). An alternative console for the R program with multiline editing and rich syntax highlight.

Misc

  • installr. Automate the updating of R and install new software.
  • plumber. An API Generator for R.
  • checkpoint. Install package versions from a specific date in the past.
  • mailR. A utility to send emails from R.
  • pacman. Tools to more conveniently perform tasks associated with add-on packages. pacman conveniently wraps library and package related functions and names them in an intuitive and consistent fashion. It seeks to combine functionality from lower level functions which can speed up workflow.
  • askpass. Cross-platform utilities for prompting the user for credentials or a passphrase, for example to authenticate with a server or read a protected key.
  • rsconnect. Deployment Interface for R Markdown Documents and Shiny Applications.

Data import

  • readxl. Import excel files into R.
  • readr. Provide a fast and friendly way to read rectangular data (like 'csv', 'tsv', and 'fwf'). It is designed to flexibly parse many types of data found in the wild, while still cleanly failing when data unexpectedly changes.
  • datapasta. RStudio addins and R functions that make copy-pasting vectors and tables to text painless.
  • jsonlite. A fast JSON parser and generator optimized for statistical data and the web.

Dashboards

  • Shiny. Interactive web applications with R. Automatic "reactive" binding between inputs and outputs and extensive prebuilt widgets make it possible to build beautiful, responsive, and powerful applications with minimal effort.
  • flexdashboard. Format for converting an R Markdown document to a grid oriented dashboard. The dashboard flexibly adapts the size of it's components to the containing web page.
  • shinydashboard. Create dashboards with 'Shiny'. This package provides a theme on top of 'Shiny', making it easy to create attractive dashboards.
  • shinythemes. Themes for use with Shiny. Includes several Bootstrap themesfrom http://bootswatch.com/, which are packaged for use with Shinyapplications.

Graphics

  • calendR. Contains the function calendR() for creating fully customizable monthly and yearly calendars. In addition, it allows saving the calendars in ready to print A4 format PDF files.
  • ggplot2. A system for 'declaratively' creating graphics, based on "The Grammar of Graphics".
  • ggstatsplot. Extension of 'ggplot2' that creates graphics with details from statistical tests included in the plots themselves.
  • GGally. Extends 'ggplot2' by adding several functions to reduce the complexity of combining geometric objects with transformed data.
  • ggvis. An implementation of an interactive grammar of graphics, taking the best parts of 'ggplot2', combining them with the reactive framework of 'shiny' and drawing web graphics using 'vega'.
  • Lattice. Trellis Graphics for R.
  • highcharter. A wrapper for the 'Highcharts' library including shortcut functions to plot R objects.
  • Plotly. Create interactive web graphics from 'ggplot2' graphs and/or a custom interface to the (MIT-licensed) JavaScript library 'plotly.js' inspired by the grammar of graphics.
  • sunburstR. Make interactive 'd3.js' sequence sunburst diagrams in R with the convenience and infrastructure of an 'htmlwidget'.
  • r2d3. Provides a suite of tools for using D3 visualizations with R.
  • RGL. Provides medium to high level functions for 3D interactive graphics, including functions modelled on base graphics (plot3d(), etc.) as well as functions for constructing representations of geometric objects.
  • magick. Advanced Graphics and Image-Processing in R.
  • dygraphs. An R interface to the 'dygraphs' JavaScript charting library.
  • gganatogram. Create anatograms using ggplot2.

Maps

  • tmap. Drawing thematic maps in R.
  • Leaflet. Create and customize interactive maps using the 'Leaflet' JavaScript library and the 'htmlwidgets' package.
  • RColorBrewer. Provides color schemes for maps (and other graphics) designed by Cynthia Brewer as described here.

Finance

  • quantmod. Specify, build, trade, and analyse quantitative financial trading strategies.
  • blotter. Provides transaction infrastructure for defining transactions, portfolios and accounts for trading systems and simulation with portfolio support for multi-asset class and multi-currency portfolios.
  • PerformanceAnalytics. Econometric Tools for Performance and Risk Analysis.
  • EliteQuant_R. R based multi-threading, concurrent high-frequency trading platform that provides consistent backtest and live trading solutions.
  • zoo. S3 Infrastructure for Regular and Irregular Time Series.
  • FactorAnalytics. Linear factor model fitting for asset returns.
  • quanstrat. Transaction-oriented infrastructure for constructing trading systems and simulation. Provides support for multi-asset class and multi-currency portfolios for backtesting and other financial research.
  • FinancialInstrument. Infrastructure for defining meta-data and relationships for financial instruments.
  • PortfolioAnalytics. Portfolio optimization and analysis routines and graphics.
  • RQuantLib. Provide a standard open source library for quantitative analysis, modeling, trading, and risk management of financial assets.
  • portfolio. Classes for analysing and implementing equity portfolios.
  • TTR. Technical Trading Rules.

Functional data

  • fda. Set of functions developed to support functional data analysis as described in Ramsay, J. O. and Silverman, B. W. (2005) Functional Data Analysis. New York: Springer.
  • fda.usc. Routines for exploratory and descriptive analysis of functional data such as depth measurements, atypical curves detection, regression models, supervised classification, unsupervised classification and functional analysis of variance.
  • fdapace. Provides implementation of various methods of Functional Data Analysis (FDA) and Empirical Dynamics.
  • funData. S4 classes for univariate and multivariate functional data with utility functions.
  • rainbow. Bagplots, Boxplots and Rainbow Plots for Functional Data.
  • roahd. A collection of methods for the robust analysis of univariate and multivariate functional data, possibly in high-dimensional cases, and hence with attention to computational efficiency and simplicity of use.

Regression

  • car. Functions to Accompany J. Fox and S. Weisberg,An R Companion to Applied Regression, Third Edition, Sage, 2019.
  • MASS. Support Functions and Datasets for Venables and Ripley's MASS.
  • caret. Misc functions for training and plotting classification and regression models.
  • glmnet. Lasso and Elastic-Net Regularized Generalized Linear Models.
  • xgboost. Includes efficient linear model solver and tree learning algorithms, it can automatically do parallel computation on a single machine which could be more than 10 times faster than existing gradient boosting packages. It supports various objective functions, including regression, classification and ranking.
  • quantreg. Estimation and inference methods for models of conditional quantiles.
  • np. Nonparametric (and semiparametric) kernel methods that seamlessly handle a mix of continuous, unordered, and ordered factor data types.
  • effects. Effect Displays for Linear, Generalized Linear, and Other Models.
  • lme4. Fit linear and generalized linear mixed-effects models. The models and their components are represented using S4 classes and methods.
  • FWDselect. A simple method to select the best model or best subset of variables using different types of data (binary, Gaussian or Poisson) and applying it in different contexts (parametric or non-parametric).

Optimization

  • optimization. Flexible Optimization of Complex Loss Functions with State and Parameter Space Constraints.
  • lpSolve. Interface to 'Lp_solve' v. 5.5 to Solve Linear/Integer Programs.
  • lpSolveAPI. Provides an R interface to 'lp_solve', a Mixed Integer Linear Programming (MILP) solver with support for pure linear, (mixed) integer/binary, semi-continuous and special ordered sets (SOS) models.

Spatial statistics

  • sp. Classes and methods for spatial data; the classes document where the spatial location information resides, for 2D or 3D data. Utility functions are provided, e.g. for plotting data as maps, spatial selection, as well as methods for retrieving coordinates, for subsetting, print, summary, etc.
  • sf. Support for simple features, a standardized way to encode spatial vector data. Binds to 'GDAL' for reading and writing data, to 'GEOS' for geometrical operations, and to 'PROJ' for projection conversions and datum transformations.
  • npsp. Multidimensional nonparametric spatio-temporal (geo)statistics.

Web scraping

  • rvest. Easily Harvest (Scrape) Web Pages.
  • XML. Many approaches for both reading and creating XML (and HTML) documents (including DTDs), both local and accessible via HTTP or FTP. Also offers access to an 'XPath' "interpreter".
  • Rselenium. Provides a set of R bindings for the 'Selenium 2.0 WebDriver' using the 'JsonWireProtocol'
  • httr. Useful tools for working with HTTP organised by HTTP verbs (GET(), POST(), etc).

Computer vision

https://jeroen.github.io/munster2018/#26

Packages development

  • usethis. Automate package and project setup tasks that are otherwise performed manually.
  • pkgdown. Generate an attractive and useful website from a source package.
  • roxygen2. Generate your Rd documentation, 'NAMESPACE' file, and collation field using specially formatted comments.
  • devtools. Tools to Make Developing R Packages Easier.
  • profvis. Interactive Visualizations for Profiling R Code.

Fun stuff

  • ggcats. The geom you always wished for adding cats to ggplot2.
  • ggbernie. A ggplot2 geom for adding Bernie Sanders to ggplot2.
  • TurtleGraphics - An R implementation of vector graphics using a relative cursor (the "turtle") upon a Cartesian plane.
  • fun. Collection of R games and other funny stuff, such as the classic Mine sweeper and sliding puzzles.
  • Fortunes. A collection of fortunes from the R community.
  • cowsay. ASCII art animals in R console.
  • drumr. Turn R into a Drum Machine.
  • ggphysics. Physics animations in ggplot2, just for fun.
  • raptors animation. Using gganimate to bounce emoji basketballs over the course of a game.
  • brownianbridge. Contains scripts used to draw various "Brownian bridge" animations that to explore some of the functionality of the gganimate package.
  • pushoverr. Send push notifications from R to mobile devices or the desktop. These notifications can display job status, results, scraped web data, or any other text or numeric data.
  • BRRR. Let Gucci Mane tell you when your script is done.
  • meme. Create memes in R.
  • xkcd. Plotting ggplot2 Graphics in an XKCD Style.
  • beepr. The main function of this package is beep(), with the purpose to make it easy to play notification sounds on whatever platform you are on. It is intended to be useful, for example, if you are running a long analysis in the background and want to know when it is ready.
  • twitteR. Send Tweets from R.
  • CatterPlots. Cat themed scatter plots.
  • crayon. Colored Terminal Output.

More soon...