Skip to content

qinwf/awesome-R

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

Awesome R

Awesome

A curated list of awesome R packages and tools. Inspired by awesome-machine-learning.

heart for Top 50 CRAN downloaded packages or repos with 400+ star

2023

2020

  • VSCode - vscode-R + vscode-r-lsp VSCode R Langauage Support
  • gt - Easily generate information-rich, publication-quality tables from R
  • lightgbm heart - Light Gradient Boosting Machine.
  • torch - Tensors and Neural Networks with 'GPU' Acceleration.

2019

  • ggforce - ggplot2 extension framework ggforce
  • rayshader - 2D and 3D data visualizations via rgl rayshader
  • vroom - Fast reading of delimited files vroom

Integrated Development Environments

Integrated Development Environment

  • VSCode heart - vscode-R + vscode-r-lsp VSCode R Langauage Support
  • RStudio heart - A powerful and productive user interface for R. Works great on Windows, Mac, and Linux.
  • Emacs + ESS - Emacs Speaks Statistics is an add-on package for emacs text editors.
  • Sublime Text + R-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 heart - R kernel for Jupyter.
  • Deducer - A Menu driven data analysis GUI with a spreadsheet like data editor.
  • Radiant - A platform-independent browser-based interface for business analytics in R, based on the Shiny.
  • Nvim-R heart - Neovim plugin for R.
  • Jamovi and JASP - Desktop software for both Bayesian and Frequentist methods, using a UI familiar to SPSS users.
  • Bio7 - An IDE contains tools for model creation, scientific image analysis and statistical analysis for ecological modelling.
  • RTVS - R Tools for Visual Studio.
  • radian heart (formerly rtichoke) - A modern R console with syntax highlighting.
  • RKWard - An extensible IDE/GUI for R.

Syntax

Packages change the way you use R.

  • magrittr heart - Let's pipe it.
  • pipeR - Multi-paradigm Pipeline Implementation.
  • lambda.r - Functional programming and simple pattern matching in R.
  • purrr - A FP package for R in the spirit of underscore.js.

Data Manipulation

Packages for cooking data.

  • dplyr heart - Fast data frames manipulation and database query.
  • data.table heart - Fast data manipulation in a short and flexible syntax.
  • reshape2 heart - Flexible rearrange, reshape and aggregate data.
  • tidyr - Easily tidy data with spread and gather functions.
  • broom heart - Convert statistical analysis objects into tidy data frames.
  • rlist - A toolbox for non-tabular data manipulation with lists.
  • ff - Data structures designed to store large datasets.
  • lubridate - A set of functions to work with dates and times.
  • stringi heart - ICU based string processing package.
  • stringr heart - Consistent API for string processing, built on top of stringi.
  • bigmemory - Shared memory and memory-mapped matrices. The big* packages provide additional tools including linear models (biglm) and Random Forests (bigrf).
  • fuzzyjoin - Join tables together on inexact matching.
  • tidyverse - Easily install and load packages from the tidyverse.
  • snakecase - Automatically parse and convert strings into cases like snake or camel among others.
  • DataExplorer - Fast exploratory data analysis with minimum code.

Data Formats

Packages for reading and writing data of different formats.

  • arrow heart - An interface to the Arrow C++ library.
  • feather heart - Fast, interoperable binary data frame storage for Python, R, and more powered by Apache Arrow.
  • fst heart - 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 heart - Read excel files (.xls and .xlsx) into R.
  • readr heart - 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 heart - An implementation of the Grammar of Graphics.
  • ggfortify - A unified interface to ggplot2 popular statistical packages using one line of code.
  • ggrepel - Repel overlapping text labels away from each other.
  • ggalt - Extra Coordinate Systems, Geoms and Statistical Transformations for ggplot2.
  • ggstatsplot - ggplot2 Based Plots with Statistical Details
  • ggtree - Visualization and annotation of phylogenetic tree.
  • ggtech - ggplot2 tech themes and scales
  • ggplot2 Extensions - Showcases of ggplot2 extensions.
  • lattice - A powerful and elegant high-level data visualization system.
  • corrplot - A graphical display of a correlation matrix or general matrix. It also contains some algorithms to do matrix reordering.
  • rgl - 3D visualization device system for R.
  • Cairo - R graphics device using cairo graphics library for creating high-quality display output.
  • extrafont - Tools for using fonts in R graphics.
  • showtext - Enable R graphics device to show text using system fonts.
  • animation - A simple way to produce animated graphics in R, using ImageMagick.
  • gganimate - Create easy animations with ggplot2.
  • misc3d - Powerful functions to deal with 3d plots, isosurfaces, etc.
  • xkcd - Use xkcd style in graphs.
  • imager - An image processing package based on CImg library to work with images and display them.
  • hrbrthemes - 🔏 Opinionated, typographic-centric ggplot2 themes and theme components.
  • waffle - 🍁 Make waffle (square pie) charts in R.
  • dendextend - visualizing, adjusting and comparing trees of hierarchical clustering.
  • idendro - interactive exploration of dendrograms (trees of hierarchical clustering).
  • r2d3 - R Interface to D3 Visualizations
  • Patchwork - Combine separate ggplots into the same graphic.
  • plot3D - Plotting Multi-Dimensional Data
  • plot3Drgl - Plotting Multi-Dimensional Data - Using 'rgl'
  • httpgd - Asynchronous http server graphics device for R.

HTML Widgets

Packages for interactive visualizations.

  • heatmaply - Interactive heatmaps with D3.
  • d3heatmap - Interactive heatmaps with D3 (no longer maintained).
  • DataTables - Displays R matrices or data frames as interactive HTML tables.
  • DiagrammeR heart - Create JS graph diagrams and flowcharts in R.
  • dygraphs - Charting time-series data in R.
  • formattable heart - Formattable Data Structures.
  • ggvis heart - Interactive grammar of graphics for R.
  • Leaflet - One of the most popular JavaScript libraries interactive maps.
  • MetricsGraphics - Enables easy creation of D3 scatterplots, line charts, and histograms.
  • networkD3 - D3 JavaScript Network Graphs from R.
  • scatterD3 - Interactive scatterplots with D3.
  • plotly heart - Interactive ggplot2 and Shiny plotting with plot.ly.
  • rCharts heart - Interactive JS Charts from R.
  • rbokeh - R Interface to Bokeh.
  • threejs - Interactive 3D scatter plots and globes.
  • timevis - Create fully interactive timeline visualizations.
  • visNetwork - Using vis.js library for network visualization.
  • wordcloud2 - R interface to wordcloud2.js.
  • highcharter - R wrapper for highcharts based on htmlwidgets
  • echarts4r - R wrapper to Echarts version 4

Reproducible Research

Packages for literate programming and reproducible workflows.

  • knitr heart - Easy dynamic report generation in R.
  • redoc - Reversible Reproducible Documents
  • tinytex - A lightweight and easy-to-maintain LaTeX distribution
  • xtable - Export tables to LaTeX or HTML.
  • rapport - An R templating system.
  • rmarkdown heart - Dynamic documents for R.
  • slidify heart - Generate reproducible html5 slides from R markdown.
  • Sweave - A package designed to write LaTeX reports using R.
  • texreg - Formatting statistical models in LaTex and HTML.
  • checkpoint - Install packages from snapshots on the checkpoint server.
  • brew - Pre-compute data to enhance your report templates. Can be combined with knitr.
  • officer - An R package to generate Microsoft Word, Microsoft PowerPoint and HTML reports.
  • flextable - An R package to embed complex tables (merged cells, multi-level headers and footers, conditional formatting) in Microsoft Word, Microsoft PowerPoint and HTML reports. It cooperates with the [officer] package and integrates with [rmarkdown] reports.
  • bookdown - Authoring Books with R Markdown.
  • ezknitr - Avoid the typical working directory pain when using 'knitr'
  • 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 heart - Easy interactive web applications with R. See also awesome-rshiny
  • shinyjs - Easily improve the user interaction and user experience in your Shiny apps in seconds.
  • RCurl - General network (HTTP/FTP/...) client interface for R.
  • curl - A Modern and Flexible Web Client for R.
  • httr heart - User-friendly RCurl wrapper.
  • httpuv - HTTP and WebSocket server library.
  • XML heart - Tools for parsing and generating XML within R.
  • xml2 heart - Optimized tools for parsing and generating XML within R.
  • rvest heart - Simple web scraping for R, using CSSSelect or XPath syntax.
  • OpenCPU heart - HTTP API for R handling concurrent calls, based on the Apache2 web server, to expose R code as REST web services and create full-sized, multi-page web applications.
  • Rfacebook - Access to Facebook API via R.
  • RSiteCatalyst - R client library for the Adobe Analytics.
  • plumber - A library to expose existing R code as web API.
  • 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 heart - Executing the loop in parallel.
  • future heart - A minimal, efficient, cross-platform unified Future API for parallel and distributed processing in R; designed for beginners as well as advanced developers.
  • SparkR heart - R frontend for Spark.
  • DistributedR - A scalable high-performance platform from HP Vertica Analytics Team.
  • ddR - Provides distributed data structures and simplifies distributed computing in R.
  • sparklyr - R interface for Apache Spark from RStudio.
  • batchtools - High performance computing with LSF, TORQUE, Slurm, OpenLava, SGE and Docker Swarm.

High Performance

Packages for making R faster.

  • Rcpp heart - Rcpp provides a powerful API on top of R, make function in R extremely faster.
  • Rcpp11 - Rcpp11 is a complete redesign of Rcpp, targetting C++11.
  • compiler - speeding up your R code using the JIT
  • cpp11 - cpp11 is a header-only R package that helps R package developers handle R objects with C++ code. It's similar to Rcpp but with different design trade-offs and features.

Language API

Packages for other languages.

  • rJava - Low-level R to Java interface.
  • jvmr - Integration of R, Java, and Scala.
  • reticulate heart - 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