Explore R Ecosystems
masterCommunities and package collections focused on open science and data:
- rOpenGov: Open government data, computational social science, and digital humanities.
- rOpenHealth: Public health data.
- rOpenSci: Open science.
repository·master·Indexed 27 days ago
https://github.com/qinwf/awesome-rA curated list of high-quality R packages and tools. It covers a wide range of categories including IDEs (RStudio, VSCode), data manipulation (dplyr, data.table), data visualization (ggplot2, plotly), reproducible research (knitr, rmarkdown), machine learning frameworks (caret, tidymodels), deep learning (torch, MXNet), and integration with other languages like Python and C++.
Communities and package collections focused on open science and data:
Use the following packages for web-related tasks:
rvest (uses CSSSelect or XPath syntax).httr (user-friendly wrapper), curl (modern and flexible), or RCurl (general network interface).xml2 (optimized) or XML.httpuv (HTTP and WebSocket server library).A selection of highly recommended books for R users:
Connect R to various database systems using these interfaces:
DBI (common interface) and odbc/RODBC (ODBC access).RPostgres/RPostgreSQL (PostgreSQL), RMariaDB (MariaDB), RMySQL (MySQL), RSQLite (SQLite), ROracle (Oracle), and RJDBC (JDBC interface).mongolite or rmongodb (MongoDB), elastic (Elasticsearch), redux (Redis), RCassandra (Cassandra), RNeo4j (Neo4j), and RHive (Apache Hive).rpostgis (PostGIS).stringr package to perform string manipulations and preprocessing, such as cleaning or parsing lists of full names.shiny package to create interactive web applications directly from R. For improving user interaction and experience within Shiny apps, use shinyjs. For building production-grade Shiny applications, use the golem framework.Use these packages to bridge R with other environments:
reticulate (recommended), rPython, or rJython (via Jython).rJava or jvmr (R, Java, and Scala integration).JuliaCall or RJulia.V8 (embedded engine) or htmlwidgets (for JS data visualization).R.matlab or RcppOctave.RSPerl (Perl), RinRuby (Ruby), or rpy2 (Python interface for R).To make R functions significantly faster, use C++ integration tools:
Rcpp: Provides a powerful API to write C++ functions for R.Rcpp11: A redesign of Rcpp targeting C++11.cpp11: A header-only package for handling R objects with C++ code (alternative to Rcpp).compiler: Use the built-in JIT (Just-In-Time) compiler to speed up R code.[.data.frame works to properly subset data frames in R.The following tools are available for R development:
A collection of packages and tools to assist in the lifecycle of R package development, including testing, documentation, and environment management:
devtools for general development, renv for project isolation and reproducibility, drat for creating R repositories on GitHub, and Rocker for R configurations in Docker.testthat for unit testing, covr for test coverage analysis, and lintr for static code analysis to enforce style.roxygen for documenting functions via comments, staticdocs for generating static HTML documentation, and sinew for generating roxygen2 skeletons.promises for asynchronous programming, R6 for alternative class systems, box for a modern module system, and import for an import mechanism.fwrite() function from the data.table package. This is significantly faster than standard R CSV writing methods.