Awesome R

repository·master·Indexed 27 days ago

https://github.com/qinwf/awesome-r

A 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++.

Tokens
6.1K
Snippets
0
Records
49
Agent score
42%

What's inside awesome-r

  1. Explore R Ecosystems

    master

    Communities 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.
  2. Perform web scraping and HTTP requests in R

    master

    Use the following packages for web-related tasks:

    • Web Scraping: rvest (uses CSSSelect or XPath syntax).
    • HTTP Clients: httr (user-friendly wrapper), curl (modern and flexible), or RCurl (general network interface).
    • XML Parsing: xml2 (optimized) or XML.
    • Web Servers: httpuv (HTTP and WebSocket server library).
  3. Recommended R Books

    master

    A selection of highly recommended books for R users:

    Free and Online

    • R for Data Science by Garrett Grolemund & Hadley Wickham (Data Science workflow).
    • R Cookbook by Winston Chang (Problem-oriented tasks).
    • Advanced R by Hadley Wickham (Deep dive into the language).
    • R Packages by Hadley Wickham & Jennifer Bryan (Writing packages).
    • Efficient R Programming by Colin Gillespie & Robin Lovelace.
    • The Art of R Programming (Fundamentals, types, and debugging).
    • R in Action (Covers everything from data structures to regressions).
    • Use R! Series by Springer (Focused practitioner books).
  4. Manage database connections in R

    master

    Connect R to various database systems using these interfaces:

    • Standard Interfaces: DBI (common interface) and odbc/RODBC (ODBC access).
    • Relational Databases: RPostgres/RPostgreSQL (PostgreSQL), RMariaDB (MariaDB), RMySQL (MySQL), RSQLite (SQLite), ROracle (Oracle), and RJDBC (JDBC interface).
    • NoSQL/Big Data: mongolite or rmongodb (MongoDB), elastic (Elasticsearch), redux (Redis), RCassandra (Cassandra), RNeo4j (Neo4j), and RHive (Apache Hive).
    • Spatial: rpostgis (PostGIS).
  5. Build interactive web applications with Shiny

    master
    Use the 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.
  6. Integrate R with other programming languages

    master

    Use these packages to bridge R with other environments:

    • Python: reticulate (recommended), rPython, or rJython (via Jython).
    • Java: rJava or jvmr (R, Java, and Scala integration).
    • Julia: JuliaCall or RJulia.
    • JavaScript: V8 (embedded engine) or htmlwidgets (for JS data visualization).
    • MATLAB/Octave: R.matlab or RcppOctave.
    • Other: RSPerl (Perl), RinRuby (Ruby), or rpy2 (Python interface for R).
  7. Optimize R performance with C++

    master

    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.
  8. Configure R Integrated Development Environments (IDEs)

    master

    The following tools are available for R development:

    • RStudio: A powerful and productive user interface for R (Windows, Mac, Linux).
    • Emacs + ESS: Emacs Speaks Statistics add-on for Emacs editors.
    • Sublime Text + R-IDE: Add-on for Sublime Text 2/3.
    • TextMate + r.tmblundle: Add-on for TextMate 1/2.
    • StatET: Eclipse-based IDE.
    • R Commander: Provides a basic graphical user interface.
    • IRkernel: R kernel for Jupyter notebooks.
    • Deducer: Menu-driven data analysis GUI with a spreadsheet-like editor.
    • Radiant: Browser-based interface for business analytics (based on Shiny).
    • Nvim-R: Neovim plugin for R.
    • Jamovi / JASP: Desktop software for Bayesian and Frequentist methods (SPSS-like UI).
    • Bio7: IDE for ecological modelling, scientific image analysis, and statistical analysis.
    • RTVS: R Tools for Visual Studio.
    • radian: A modern R console with syntax highlighting.
    • RKWard: Extensible IDE/GUI for R.
  9. Tools for R Package Development

    master

    A collection of packages and tools to assist in the lifecycle of R package development, including testing, documentation, and environment management:

    • Development & Workflow: devtools for general development, renv for project isolation and reproducibility, drat for creating R repositories on GitHub, and Rocker for R configurations in Docker.
    • Testing & Quality: testthat for unit testing, covr for test coverage analysis, and lintr for static code analysis to enforce style.
    • Documentation: roxygen for documenting functions via comments, staticdocs for generating static HTML documentation, and sinew for generating roxygen2 skeletons.
    • Advanced Development: promises for asynchronous programming, R6 for alternative class systems, box for a modern module system, and import for an import mechanism.