A curated list of amazingly awesome R libraries, resources and package collection.
Road2R
Welcome to Road2R, a meticulously curated repository of R language resources. This project is designed to provide data scientists, statisticians, and R enthusiasts with a streamlined pathway to highly efficient data analysis.
Beyond compiling the most popular R packages on CRAN, we have also curated comprehensive workflow diagrams for specialized fields, including data science, text mining, machine learning, and single-cell analysis. Whether you are seeking specific tools for tasks such as data wrangling, visualization, or modeling, or aiming to systematically learn the application of R in bioinformatics, this repository offers exhaustive lists and learning materials tailored to your academic needs.

Contributing Information
Please see author's details. Collaboration and pull requests are always welcomed!Workflow for Data Science
Workflow of Text Mining
Workflow of R Package Development
Workflow of Typical Modeling Process
Table of Contents
- Contributing Information - Workflow for Data Science - Workflow of Text Mining - Workflow of R Package Development - Workflow of Typical Modeling Process - Table of Contents - Data manipulation - Visualization - Import Data - Network graph - Interactive Graphics - Word cloud - Text mining - Machine learning - Time series - Markdown - Development in R - Online blogs - Learning materials - Cheatsheet - Shiny - Bioinformatics - Single-cellData manipulation
Packages that enable you to manipulate data- dplyr - a grammar of data manipulation.
- tibble - efficient display structure for tabular data.
- dbplyr - A 'dplyr' Back End for Databases.
- plyr - the split-apply-combine paradigm for R.
- tidyr - Easily Tidy Data with 'spread()' and 'gather()' Functions.
- jsonlite - A Robust, High Performance JSON Parser and Generator for R.
- stringr - Simple, Consistent Wrappers for Common String Operations.
- stringi - Character String Processing Facilities.
- data.table - Extension of "data.frame".
- magrittr - A Forward-Pipe Operator for R.
- reshape2 - Flexibly Reshape Data: A Reboot of the Reshape Package.
- forcats - Tools for Working with Categorical Variables (Factors).
- broom - Convert Statistical Analysis Objects into Tidy Data Frames.
- Matrix - Sparse and Dense Matrix Classes and Methods.
- lubridate - Make Dealing with Dates a Little Easier.
- xts - tools for time series based data.
- hashmap - The Faster Hash Map.
- rlist - A Toolbox for Non-Tabular Data Manipulation.
- yaml - Methods to Convert R Data to YAML and Back.
- xml2 - Parse XML.
- lobstr - lobstr provides tools in the same vein as str(), which allow you to dig into the detail of an object.
- reticulate - Interface to 'Python'.
- moderndive - An R package of datasets and wrapper functions for tidyverse-friendly introductory linear regression.
Visualization
Packages that enable you to plot- ggplot2 - Create Elegant Data Visualisations Using the Grammar of Graphics.
- gganinate - A Grammar of Animated Graphics.
- ggedit - Interactive 'ggplot2' Layer and Theme Aesthetic Editor.
- ggfittext - Fit Text Inside a Box in 'ggplot2'.
- ggforce - Accelerating 'ggplot2'.
- gggenes - Draw Arrow Maps in 'ggplot2'.
- ggnetwork - Geometrics to Plot Networks with ''ggplot2''.
- ggmap - Spatial Visualization with ''ggplot2''.
- ggpubr - ''ggplot2'' Based Publication Ready Plots.
- ggrepel - Automatically Position Non-Overlapping Text Labels with 'ggplot2'.
- ggridge - Ridgeline Plots in 'ggplot2'.
- ggsci - Scientific Journal and Sci-Fi Themed Color palettes for 'ggplot2'.
- ggsignif - Significance Brackets for 'ggplot2'.
- ggthemes - Extra Themes, Scales and Geoms for 'ggplot2'.
- ggvis - Interactive Grammar of Graphics.
- cowplot - Streamlined Plot Theme and Plot Annotations for 'ggplot2'.
- treemapify - Draw Treemaps in 'ggplot2'.
- ggalluvial - Alluvial Diagrams in 'ggplot2'.
- GGally - Extension to 'ggplot2'.
- alluvial - Alluvial Diagrams.
- corrplot - Visualization of a Correlation Matrix.
- arulesViz - Visualizing Association Rules and Frequent Itemsets.
- gplots - Various R Programming Tools for Plotting Data.
- rpart.plot - Plot 'rpart' Models: An Enhanced Version of 'plot.rpart'.
- survival - Survival Analysis.
- pheatmap - Pretty Heatmap.
- ROCR - Visualization the Performance of Scoring Classifiers.
- pROC - Display and Analyze ROC Curves.
- ggstance - Horizontal versions of common plots.
- ggExtra - Marginal histograms for a plot.
- patchwork - Simple to combine separate ggplots into the same graphic.
- simplifyEnrichment - simplifyEnrichment: an R/Bioconductor package for Clustering and Visualizing Functional Enrichment Results.
- spiralize - spiralize: an R package for visualizing data on spirals.
- ComplexHeatmap - Complex heatmaps reveal patterns and correlations in multidimensional genomic data.
Import Data
Packages that enable you to import, load and save data- readr - Read Rectangular Text Data.
- openxlsx - Read, Write and Edit XLSX Files
- readxl - Read Excel Files.
- clipr - Read and Write from the System Clipboard.
- data.table - Extension of "data.frame".
- feather - R Bindings to the Feather 'API'.
- haven - Import and Export 'SPSS', 'Stata' and 'SAS' Files.
- httr - Tools for Working with URLs and HTTP.
- rvest - Easily Harvest (Scrape) Web Pages.
- DBI - R Database Interface
- RMySQL - MySQL driver for DBI
- RPostgres - Postgres driver for DBI
- RSQLite - SQlite driver for DBI
- git2r - Provides Access to Git Repositories.
- RCurl - General Network (HTTP/FTP/...) Client Interface for R.
Network graph
packages that enable you to visualize network- igraph - Network Analysis and Visualization.
- ggnetwork - Geometrics to Plot Networks with ''ggplot2''.
- network3D - D3 JavaScript Network Graphs from R.
- network - Classes for Relational Data.
- sna - Tools for Social Network Analysis.
- snow - Simple Network of Workstations.
- visNetwork - Network Visualization using 'vis.js' Library.
Interactive Graphics
packages that enable you to make interactive graphics- htmlwidgets - framework for creating JavaScript widgets with R.
- networkD3 - Interative d3 network graphs.
- d3heatmap - Interactive d3 heatmaps.
- DT - Interactive tables.
- REmap - Create html maps by Echarts.
- echarts4r - EChart htmlwidget.
- leaflet - Interactive maps.
- plotly - Interactive plots.
- Highcharter - Interactive Highcharts plots.
- visNetwork - Interactive network graphs.
Word cloud
packages that enable you to draw word cloud- wordcloud - Word Clouds.
- wordcloud2 - Create Word Cloud by 'htmlwidget'.
Text mining
packages that enable you to do text mining- tidytext - Text Mining using 'dplyr', 'ggplot2', and Other Tidy Tools.
- widyr - Widen, Process, then Re-Tidy Data.
- tm - Text Mining Package.
- NLP - Natural Language Processing Infrastructure.
- janeaustenr - Jane Austen's Complete Novels.
Machine learning
packages that enable you to deploy machine learning algorithms- caret - Classification and Regression Training.
- xgboost - Extreme Gradient Boosting.
- glmnet - Lasso and Elastic-Net Regularized Generalized Linear Models.
- e1071 - Misc Functions of the Department of Statistics, ProbabilityTheory Group (Formerly: E1071), TU Wien.
- arules - Mining Association Rules and Frequent Itemsets.
- car - Companion to Applied Regression.
- igraph - PageRank algotirhm.
- kernlab - Kernel-Based Machine Learning Lab.
- modelr - Modelling Functions that Work with the Pipe.
- gbm - gradient boosted regression models.
- nlme - Linear and Nonlinear Mixed Effects Models.
- randomForest - Breiman and Cutler's Random Forests for Classification and Regression.
- rpart - Recursive Partitioning and Regression Trees.
- boot - Bootstrap Functions (Originally by Angelo Canty for S).
- gbm - gradient boosted regression models.
- nnet - Feed-Forward Neural Networks and Multinomial Log-Linear Models.
- neuralnet - Training of Neural Networks.
- h2o - parallel distributed machine learning algorithms.
- mlr - Machine Learning in R.
- ggpomological - Pomological Colors.
- visdat - Preliminary Exploratory Visualisation of Data.
- lares - R Package for Analytics and Machine Learning.
- mlr3 - A clean, object-oriented rewrite of mlr.
- mlrCPO - Composable Preprocessing Operators for MLR.
Time series
packages that enable you to play with time- xts - eXtensible Time Series.
- forecast - Forecasting Functions for Time Series and Linear Models.
- zoo - S3 Infrastructure for Regular and Irregular Time Series (Z's Ordered Observations).
- tsfeatures - The R package tsfeatures provides methods for extracting various features from time series data.
Markdown
packages that enable you to write markdwon in R- rmarkdown - Dynamic Documents for R.
- rsconnect - Deployment Interface for R Markdown Documents and Shiny Applications.
- knit - A General-Purpose Package for Dynamic Report Generation in R.
- tinytex - tinytex: Helper Functions to Install and Maintain TeX Live, and Compile LaTeX Documents.
Development in R
packages that enable you to develop your own project- devtools - Tools to Make Developing R Packages Easier.
- Rcpp - Seamless R and C++ Integration.
- testthat - Unit Testing for R.
- roxygen2 - In-Line Documentation for R.
- bindrcpp - An 'Rcpp' Interface to Active Bindings.
- RStudio Desktop IDE - IDE.
- RStudio Server Open Source - server IDE.
- Anaconda - The World's Most Popular Python/R Data Science Platform.
- Visual Studio Code - Open source code editor.
- goodpractice - Advice on R Package Building.
- usethis - Automate Package and Project Setup.
Online blogs
Online blogs.- RPubs - Easy web publishing from R.
- Shinyapps - Share your Shiny Applications Online.
- R-bloggers - R news and tutorials contributed by (750) R bloggers.
- RWeekly - Weekly Updates from the Entire R Community.
- RDocumentation - Search all 16,944 CRAN, Bioconductor and GitHub packages.
- Rstudio Community - The Rstudio Community.
- 生信爱好者周刊 - 生信爱好者周刊,Weekly of bioinformatics lovers.
Learning materials
Online learning materials- Writing R extension - The online pdf of telling you how to write your own packages.
- R packages - This is the book site for “R packages”. It was published with O’Reilly in April 2015.
- R for Data Science - This is the website for “R for Data Science”.
- Text Mining with R - A Tidy Approach - This is the website for Text Mining with R.
- R Start Here - A guide to some of the most useful R Packages that we know about.
- ggplot2 Doc - Reference of ggplot2.
- Plotly for R - plotly for R.
- Efficient R programming - Efficient R programming by Colin Gillespie and Robin Lovelace.
- Advanced R - Advanced R.
- Advanced R Solutions - Advanced R Solutions.
- bookdown: Authoring Books and Technical - Documents with R Markdown.
- Geocomputation with R - Geocomputation with R.
- knitr - knitr: elegant, flexible, and fast dynamic report generation with R.
- Machine Learning with TensorFlow(R version) - This repository is for practicing R tensorflow modeling exercises.
- R的极客理想-高级开发篇 - R的极客理想-高级开发篇.
- swirl - swirl is a platform for learning (and teaching) statistics and R simultaneously and interactively.
- stats337 - Stats 337: Readings in Applied Data Science.
- Data Science in Education Book - Book on data science (or data analysis) in education using R.
- datascience-box - Data Science Course in a Box.
- R語言翻轉教室 - 全中文R語言互動式教材.
- Statistical Rethinking with brms ggplot2 and the tidyverse - Statistical Rethinking with brms, ggplot2, and the tidyverse.
- DataScienceR - a curated list of R tutorials for Data Science, NLP and Machine Learning.
- MLwR - Machine Learning with R.
- ml-course-r - R code for the assignments of Ng's Coursera machine learning course.
- Book on data science (or data analysis) in education using R - Book on data science (or data analysis) in education using R.
- R Workshops for Beginners - No programming experience required!
- Shiny Tutorial in Chinese - Shiny中文教程.
- R语言教程 - R Tutorial From Peking University (Mandarin Chinese).
- Tidy evaluation - This guide is now superseded by more recent efforts at documenting tidy evaluation in a user-friendly way.
- DIYtranscriptomics - A full course on the analysis of RNA-seq data using R programming environment and the Bioconductor suite of software packages – a versatile and robust collection of tools for bioinformatics, statistics, and plotting.
Cheatsheet
Cheatsheets of Rstudio packages- RStudio IDE Cheat Sheet - RStudio IDE Cheat Sheet.
- R Markdown Cheat Sheet - R Markdown Cheat Sheet.
- Shiny - Shiny Cheat Sheet.
- Package Development Cheat Sheet - Package Development Cheat Sheet.
- Data Import Cheat Sheet - Data Import Cheat Sheet.
- Data Transformation Cheat Sheet - Data Transformation Cheat Sheet(dplyr).
- Data Visualization Cheat Sheet - Data Visualization Cheat Sheet with ggplot2.
- Apply Functions Cheat Sheet with purrr - Apply Functions Cheat Sheet.
- Deep Learning with Keras Cheat Sheet - Deep Learning with Keras Cheat Sheet.
- Sparklyr Cheat Sheet - Sparklyr Cheat Sheet.
- Work with Strings - Work with Strings Cheat Sheet.
- Dates and times with lubridate - Dates and Times Cheat Sheet.
- Advanced R - Environments, data Structures, Functions, Subsetting and more by Arianne Colton and Sean Chen.
- Caret - Modeling and Machine Learning in R with the caret package by Max Kuhn.
- data.table - Data manipulation with data.table, cheatsheet by Erik Petrovski.
- Base R - Base R.
- cartography - Thematic maps with spatial objects by Timothée Giraud.
- estimatr - Fast, robust estimators for common models.
- eurostat - R tools to access the eurostat database, by rOpenGov.
- h2o - The R interface to h20’s algorithms for big data and parallel computing.
- How big is your graph? - Graph sizing with base R.
- LaTeX - A reference to the LaTeX typesetting language, useful in combination with knitr and R Markdown.
- leaflet - Interactive maps in R with leaflet, by Kejia Shi.
- Machine Learning Modelling - A tabular guide to machine learning algorithms in R, by Arnaud Amsellem.
- mlr - The mlr package offers a unified interface to R’s machine learning capabilities.
- Mosaic - The mosaic package is for teaching mathematics, statistics, computation and modeling.
- nardl - The nardl package estimates the nonlinear cointegrating autoregressive distributed lag model.
- xplain - Explain statistical functions with XML files and xplain.
- Parallel Computation - Parallel computing in R with the parallel, foreach, and future packages. By Ardalan Mirshani.
- quanteda - Quantitative Analysis of Textual Data in R with the quanteda package by Stefan Müller and Kenneth Benoit.
- randomizr - Automate random assignment and sampling with randomizr. By Alex Coppock.
- Regular Expressions - Basics of regular expressions and pattern matching in R by Ian Kopacka.
- Simple Features (sf) - Tools for working with spatial vector data: points, lines, polygons, etc. Cheatsheet by Ryan Garnett.
- sjmisc - dplyr friendly Data and Variable Transformation, by Daniel Lüdecke.
- survminer - Elegant survival plots, by Przemyslaw Biecek.
- Syntax Comparison - Three code styles compared: $, formula, and tidyverse. By Amelia McNamara.
- Teach R - Concise advice on how to teach R or anything else. By Adi Sarid.
Shiny
Shiny Applications Development Materials- Shiny - Web Application Framework for R.
- Shiny Tutorials - Shiny Tutorials.
- shinyAce - Ace editor bindings to enable a rich text editing environment within Shiny.
- shinyBS - Twitter Bootstrap Components for Shiny.
- shinythemes - Themes for Shiny.
- shinydashboard - Create Dashboards with 'Shiny'.
- shinyjs - Easily Improve the User Experience of Your Shiny Apps in Seconds.
- Shiny Developer Conference - Shiny Developer Conference.
- ShinyTrials - Shiny applications with shiny & shinydashboard.
- shiny.io - Share your Shiny Applications Online.
- Shiny Applications Examples - Examples of interactive web apps using shiny.
- shiny server - Host Shiny applications over the web.
- Mastering Shiny - Mastering Shiny: a book.
- Awesome Shiny Extensions - Awesome Shiny Extensions.
- shiny.semantic - shiny.semantic: Semantic UI Support for Shiny.
- shinymaterial - Implements Material Design in Shiny Applications.
- shinyUIkit - UIkit API for Shiny.
- fullPage - Single page styles for Shiny apps.
- shinybulma - Bulma.io for Shiny.
- shinyMetroUi - Metro 4 UI for Shiny.
- yonder - A reactive web framework built on Shiny with Bootstrap 4.
Bioinformatics
Bioinformatics Tools Implemented in R- CMSclassifier - An R package and an example data set are provided to run the CMSclassifier.
- CMScaller - an R package for consensus molecular subtyping of colorectal cancer pre-clinical models.
- genefu - R package providing various functions relevant for gene expression analysis with emphasis on breast and ovarian cancers.
- CancerSubtypes - Cancer subtypes identification, validation and visualization based on multiple genomic data sets.
- consensusOV - Gene expression-based subtype classification for high-grade serous ovarian cancer.
- ConsensusClusterPlus - ConsensusClusterPlus: a class discovery tool with confidence assessments and item tracking.
- WGCNA - WGCNA: an R package for weighted correlation network analysis.
- ImmuLncRNA - The R package 'ImmulancRNA' contains 3 method which can caculate the tumor purity, partial correlation coefficient and identify the lncRNA-pathway pairs.
- randomForestSRC - R-package for random forest analysis of regression, classification, survival and more.
- plsRcox - Partial Least Squares Regression for Cox Models and Related Techniques.
- superpc - Supervised Principal Components.
- CoxBoost - Cox models by likelihood based boosting for a single survival endpoint or competing risks.
- survivalsvm - Survival Support Vector Analysis.
- GSVA - Gene Set Variation Analysis for microarray and RNA-seq data.
- isomiRseeker - Detect miRNA isoforms from small RNA-seq data.
- TCGAbiolinks - TCGAbiolinks - An R/Bioconductor package for integrative analysis with TCGA data.
- clusterProfiler - clusterProfiler: an R package for comparing biological themes among gene clusters.
- glmnet - glmnet: Lasso and Elastic-Net Regularized Generalized Linear Models.
- OmicCircos - an R application and package for generating high-quality circular plots for omics data.
- maftools - maftools - An R package to summarize, analyze and visualize MAF files.
- RTN - RTN: Reconstruction of Transcriptional regulatory Networks and analysis of regulons.
- RedeR - Interactive visualization and manipulation of nested networks.
- GCclassifier - GCclassifier: an R package for the prediction of molecular subtypes of gastric cancer.
- immunedeconv - an R package for unified access to computational methods for estimating immune cell fractions from bulk RNA sequencing data.
- NbClust - NbClust: An R Package for Determining the Relevant Number of Clusters in a Data Set.
- BLCAsubtyping - Transcriptomic tools to classify bladder tumours according to six published molecular classifications.
- consensusMIBC - This package implements a nearest-centroid transcriptomic classifier, that assigns class labels according to the consensus molecular classification of Muscle-Invasive Bladder Cancer (Manuscript submitted). The consensus classification identifies 6 molecular classes : Luminal Papillary (LumP), Luminal Non Specified (LumNS), Luminal Unstable (LumU), Stroma-rich, Basal/Squamous (Ba/Sq), Neuroendocrine-like (NE-like).
- classifyNMIBC - This package implements a Pearson nearest-centroid classifier that assigns class labels to single samples according to the four transcriptomic UROMOL2021 classes of non-muscle-invasive bladder cancer (NMIBC): class 1, class 2a, class 2b and class 3.
- oncoPredict - Predict Response from Expression Data and Identify Cell line/Clinical Targets and Trends.
- Mime - Mime: A flexible machine-learning framework to construct and visualize models for clinical characteristics prediction and feature selection.
- cola - cola: A General Framework for Consensus Partitioning.
Single-cell
Singl-cell RNA-seq & ATAC in R- Signac - Signac is a comprehensive R package for the analysis of single-cell chromatin data. Signac includes functions for quality control, normalization, dimension reduction, clustering, differential activity, and more.
- Seurat - Seurat is an R toolkit for single cell genomics, developed and maintained by the Satija Lab at NYGC.
- ccRemover - Removes the Cell-Cycle Effect from Single-Cell RNA-Sequencing Data.
- cellTree - Cell population analysis and visualization from single cell RNA-seq data using a Latent Dirichlet Allocation model.
- SingleR - Reference-Based Single-Cell RNA-Seq Annotation.
- CellChat - CellChat is an R package designed for inference, analysis, and visualization of cell-cell communication from single-cell data. CellChat aims to enable users to identify and interpret cell-cell communication within an easily interpretable framework, with the emphasis of clear, attractive, and interpretable visualizations.
- Harmony - Fast, sensitive and accurate integration of single-cell data with Harmony.
- velocyto - Estimating RNA velocity in single cell RNA sequencing datasets.
- SCpubr - SCpubr provides a streamlined way of generating publication ready plots for known Single-Cell visualizations in a "publication ready" format (SCpubr).