R / RStudio / Shiny / Tidyverse |
---|
Page | Description |
R Self Assessment | Are you ready for Shiny? Self Assessment Quiz |
Using Python with RStudio | Description of using Python with Rstudio |
Happy Git with R | Install Git and get it working smoothly with GitHub, in the shell and in the RStudio IDE. Develop a few key workflows that cover your most common tasks. Integrate Git and GitHub into your daily work with R and R Markdown. |
The Coprehensive R Archive Network | CRAN is a network of ftp and web servers around the world that store identical, up-to-date, versions of code and documentation for R. |
CRAN R Packages | Available CRAN Packages by Name |
Download RStudio | RStudio is a set of integrated tools designed to help you be more productive with R. It includes a console, syntax-highlighting editor that supports direct code execution, and a variety of robust tools for plotting, viewing history, debugging and managing your workspace. |
Download RStudio Server | RStudio Server enables you to provide a browser based interface to a version of R running on a remote Linux server, bringing the power and productivity of the RStudio IDE to server-based deployments of R. |
A Quick introduction to RStudio | RStudio is not R or a “type” of R. It is a program that runs R and provides extra tools that are helpful when writing R code, kind of like how your operating system can run a web browser. This workshop will assume you are using RStudio to interact with R, although everything here can be done without RStudio. Most R users seem to use RStudio and we like it, so we recommend using it. |
Installing RStudio for Windows | A guide to installing RStudio for Windows |
Setup an RStudio Server in Ubuntu | A concise step-by-step guide to setup a Rstudio Server in Ubuntu Linux. The assumption is made that the server is already setup. |
Setup a Shiny Server in AWS (Amazon) | A step-by-step guide to setup a Shiny Server in AWS along with a method that makes publishing apps easier |
RStudio Quickstart | Experience RStudio Team using a virtual machine on your desktop. RStudio Team QuickStart VM makes it quick and easy to learn through hands-on experience. |
Learning Analytic Administration through a Sandbox | It all starts with sandboxes. Development sandboxes are dedicated safe spaces for experimentation and creativity. A sandbox is a place where you can go to test and break things, without the ramifications of breaking the real, important things. If you’re an analytic administrator who doesn’t have access or means to get a sandbox, I recommend that you consider advocating to change that. Here are just some of the arguments for why sandboxes are a powerful tool for the R admin that you may find helpful. |
Tidyverse | The tidyverse is an opinionated collection of R packages designed for data science. All packages share an underlying design philosophy, grammar, and data structures. |
RStudio Cloud | Created to make it easy for professionals, hobbyists, trainers, teachers and students to do, share, teach and learn data science using R. |
RStudio Cloud Cheatsheets | Cheatsheets for working with popular R packages |
RStudio Cloud Guide | Guide to using RStudio Cloud |
R Start Here | A Guide to some of the most useful R Packages |
GGPLOT Toolbox | Plotting System for R |
Radiant | Radiant is an open-source platform-independent browser-based interface for business analytics in R. The application is based on the Shiny package and can be run locally or on a server. |
bioCancer: Interactive Multi-OMICS Cancers Data Visualization and Analysis | bioCancer is a platform-independent interface for dynamic interaction with cancer genomics data. The web is implemented in the R language and based on the Shiny package. It runs on any modern Web browser and requires no programming skills, increasing the accessibility to the huge, complex and heterogeneous cancer genomic data. |
GGPLOT GUI | This package allows users to visualize their data using an online graphical user interface (GUI) that makes use of R's visualization package ggplot. There are two ways of using this functionality: 1) online, where users can upload their data and visualize it without needing R, by visiting this link: https://site.shinyserver.dck.gmw.rug.nl/ggplotgui/; 2) from within the R-environment (by using the ggplot_shiny() function). In either case, R-code will be provided such that the user can recreate the graphs within the R-environment. |
Managing libraries for Rstudio Server | R users have access to thousands of community contributed packages. Most users rely on dozens if not hundreds of packages. Organizing these packages can take a fair amount of administrative effort, especially when multiple versions of R exist across multiple servers. This document lays out a simple strategy for managing packages for a team of analysts on a server. |
R Installation and Administration | This is a guide to installation and administration for R. This manual is for R, version 3.6.2 (2019-12-12) |
Strategy Maps | Strategies to Reproduce Environments Over Time |
Crandash | A live visualization of the most popular R packages |
Navigating the R Package Universe | There are more than 11,000 packages on CRAN, and R users must approach this abundance of packages with effective strategies to find what they need and choose which packages to invest time in learning how to use. Our session centered on this issue, with three themes in our discussion. |
The lazy and easily distracted report writer: Using rmarkdown and parameterised reports | Mike K Smith presents : My brain is lazy, shallow and easily distracted. Learn how I use notebooks to keep my present-self organised, my future-self up to speed with what I was thinking months ago, and also how I use parameterised reports to share results for both quantitative and non-quantitative audiences across multiple endpoints. I can update and render outputs for a variety of outputs from a single markdown notebook or report. I’ll show you how I organise my work using the tidyverse, use child documents with parameterisation and also how this is served out to my colleagues via RStudio Connect. |
A Gentle Guide to Tidy Statistics in R (Part 1) | Thomas Mock |
A Gentle Guide to Tidy Statistics in R (Part 2) | Thomas Mock |
Installing Older Versions of Packages | You may need to install an older version of a package if the package has changed in a way that is incompatible with the version of R you have installed, or with your R code. You may also need to use an older version of a package if you are deploying an application to a location such as shinyapps.io, Shiny Server , or RStudio Connect where the environment may not allow you to run the latest version of the package. Here are instructions on several methods you can use: |
How to install a package of a particular version in R | How to install a package of a particular version in R |
sessioninfo | Query and print information about the current R session. It is similar to utils::sessionInfo(), but includes more information about packages, and where they were installed from. |
Multiple versions of R | Data scientists prefer using the latest R packages to analyze their data. To ensure a good user experience, you will need a recent version of R running on a modern operating system. If you run R on a production server – and especially if you use RStudio Connect – plan to support multiple versions of R side by side so that your code, reports, and apps remain stable over time. You can support multiple versions of R concurrently by building R from source. Plan to install a new version of R at least once per year on your servers. |
tidylog | Tidylog provides feedback about dplyr and tidyr operations. It provides simple wrapper functions for the most common functions, such as filter, mutate, select, and group_by. |
xpose | xpose was designed as a ggplot2-based alternative to xpose4. xpose aims to reduce the post processing burden and improve diagnostics commonly associated the development of non-linear mixed effect models. |
CRAN Task View: Clinical Trial Design, Monitoring, and Analysis | This task view gathers information on specific R packages for design, monitoring and analysis of data from clinical trials. It focuses on including packages for clinical trial design and monitoring in general plus data analysis packages for a specific type of design. Also, it gives a brief introduction to important packages for analyzing clinical trial data. |
The Shiny Cheat Sheet | Quick reference guide for building shiny apps |
Shiny Function Reference | Function Reference version 1.4.0 |
Shiny Widgets Gallery | Shiny Widgets Gallery |
How to build a Shiny app | Let’s walk through the steps of building a simple Shiny application. A Shiny application is simply a directory containing an R script called app.R which is made up of a user interface object and a server function. This folder can also contain any any additional data, scripts, or other resources required to support the application. |
Build a user Interface | How to build a user interface in Shiny |
Gallery | Shiny User Showcase |
Scoping Rules for Shiny apps | Where you define objects will determine where the objects are visible. There are three different levels of visibility that you’ll want to be aware of when writing Shiny apps. Some objects are visible within the server code of each user session; other objects are visible in the server code across all sessions (multiple users could use a shared variable); and yet others are visible in the server and the ui code across all user sessions. This document describes how scoping works within a single R process. |
The awesomeness that is the global.R file. Or how to clean up your shiny app | Description and use of the global.R file |
Build a dynamic UI that reacts to user input | Shiny apps are often more than just a fixed set of controls that affect a fixed set of outputs. Inputs may need to be shown or hidden depending on the state of another input, or input controls may need to be created on-the-fly in response to user input. |
More Shiny Examples | More Shiny Examples |
Enterprise-ready dashboards | Design a Shiny Dashboard |
Shiny dashboard | Design a Shiny Dashboard |
shinymaterial | Material design in Shiny apps |
Alternative Design for Shiny | Most Shiny apps out there have a similar design style. It is usually easy for a seasoned Shiny developer to tell the difference between a Shiny app and a standard website. Why is this? Shiny apps ARE websites for all intents and purposes. Why do they not vary as greatly as the rest of the sites we encounter when surfing the web? |
shinydashboardPlus | shinydashboardPlus is based on the idea of ygdashboard, the latter not compatible with shinydashboard (you cannot use shinydashboard and ygdashboard at the same time). With shinydashboardPlus you can still work with the shinydashboard classic functions and enrich your dashboard with all additional functions of shinydashboardPlus! |
shinyMixR | The shinyMixR package is initially developed as a graphical interface for the nlmixr package. The package include a shiny (dashboard) interface and helps in managing, running, editing and analysing nlmixr models. Although the main focus was to build an interface, many of the package functions are also directly available for usage in an interactive R session |
HTML Templates | In most cases, the best way to create a Shiny application’s user interface is to build it with R code, using functions like fluidPage(), div(), and so on. Sometimes, though, you may want to integrate Shiny with existing HTML, and starting with Shiny 0.13 (and htmltools 0.3), this can be done with the HTML templates. Templates can be used to generate complete web pages, and they can also be used to generate the HTML for components that are included in a Shiny app. |
RinteRface | RinteRface aims at bringing the most famous open source HTML templates to R |
ggedit – interactive ggplot aesthetic and theme editor | ggedit is a package that helps users bridge the gap between making a plot and getting all of those pesky plot aesthetics just right, all while keeping everything portable for further research and collaboration. |
Intro to RStudio Addins and Shiny Gadgets | R is a powerful programming language for statistical computing with many packages and tools. The goal of this article is to arm you with tools and techniques for using addins and gadgets. |
ggthemeassist | A RStudio addin for ggplot2 theme tweaking |
esqisse | RStudio add-in to make plots with ggplot2 |
Shiny Debugging | Debugging with Shiny |
Debugging Shiny applications | Debugging Shiny applications can be challenging. Because Shiny is reactive, code execution isn’t as linear as you might be used to, and your application code runs behind a web server and the Shiny framework itself, which can make it harder to access. The goal of this article is to arm you with tools and techniques for debugging in Shiny specifically. If you’re interested in tools for debugging R more generally, we recommend reading Debugging with RStudio instead. The Debugging and Exceptions chapter in Hadley Wickham’s excellent book Advanced R is also extremely helpful if you’re new to debugging in R. |
Profiling with RStudio | Guide to Profiling with RStudio |
Debugging in RStudio | Debugging techniques in RStudio |
Building Shiny Apps: With Great Power Comes Great Responsibility | Presentation on building and testing Shiny Apps |
Getting started with shinytest | After you get your Shiny application to a state where it works, it’s often useful to have an automated system that checks that it continues to work as expected. |
Testing Shiny applications with Shinytest | Testing Shiny applications with Shinytest |
Articles | List of RStudio Shiny Articles that go through start to finish of development |
Shiny v1.3.2 | Shiny v1.3.2 |
Reactivity Pt 1 | Reactive programming is at the heart of the Shiny framework, and thinking reactively is one of the most difficult yet most rewarding aspects of learning Shiny. This tutorial will go beyond the basics, explaining the philosophy behind Shiny’s reactive programming framework and exploring patterns and techniques for using it well. |
Reactivity Pt 2 | Reactive programming is at the heart of the Shiny framework, and thinking reactively is one of the most difficult yet most rewarding aspects of learning Shiny. This tutorial will go beyond the basics, explaining the philosophy behind Shiny’s reactive programming framework and exploring patterns and techniques for using it well. |
Shiny in production: Principles, practices, and tools | Shiny is a web framework for R, a language not traditionally known for web frameworks, to say the least. As such, Shiny has always faced questions about whether it can or should be used “in production”. In this talk we’ll explore what “production” even means, review some of the historical obstacles and objections to using Shiny for production purposes, and discuss practices and tools that can help your Shiny apps flourish. |
Effective use of Shiny modules in application development | As a Shiny application grows in scale, organizing code into reusable and streamlined components becomes vital to manage future enhancements and avoid unnecessary duplication. |
Load Testing Shiny Applications | The shinyloadtest package and the accompanying shinycannon software enable load testing deployed Shiny applications. |
golem | A Framework for Building Robust Shiny Apps |
shinymeta | The shinymeta R package provides tools for capturing logic in a Shiny app and exposing it as code that can be run outside of Shiny (e.g., from an R console). It also provides tools for bundling both the code and results to the end user |
shinymeta | Record and expose Shiny app logic using metaprogramming |
Shiny's Holy Grail: Interactivity with reproducibility | Presentation by Joe Cheng useR! 2019 |
medplot | Functions for drawing graphs in R visualizing medical information |
drake | An R-focused pipeline toolkit for reproducibility and high-performance computing |
renv | Project environments for R |
[https://rstudio.github.io/packrat/ Packrat} | Packrat is a dependency management system for R |
Up to Bat with Packrat | Guide to packrat |
Lite Intro to Docker / Rocker for R Analysis via Windows Box | Lite Intro to Docker / Rocker for R Analysis via Windows Box |
Running RStudio with Docker containers | Running RStudio with Docker containers |
Using Docker images with RStudio Server Pro, Launcher, and Kubernetes | Using Docker images with RStudio Server Pro, Launcher, and Kubernetes |
It's a Nonlinear World - Interactive Dashboard | "I created a quick plot, that then turned into a R Notebook, that then turned into an interactive dashboard." |
R Markdown | R Markdown |
Package Vignettes | How to build package vignettes with knitr |
rticles | LaTeX Journal Article Templates for R Markdown |
Job Scheduling R Markdown Reports via R | Intro to Job Scheduling R Markdown Reports via R |
rmd2ppt | Contains examples of R Markdown input and PPT output |
Distill for R Markdown | Distill for R Markdown is based on the Distill web framework, which was originally created for use in the Distill Machine Learning Journal. Distill for R Markdown combines the technical authoring features of Distill with R Markdown, enabling a fully reproducible workflow based on literate programming. |
xaringan | An R package for creating slideshows with remark.js through R Markdown. The package name xaringan comes from Sharingan, a dōjutsu in Naruto with two abilities: the "Eye of Insight" and the "Eye of Hypnotism". A presentation ninja should have these basic abilities, and I think remark.js may help you acquire these abilities, even if you are not a member of the Uchiha clan |
The R Markdown Cheat sheet | The R Markdown cheat sheet is a quick reference guide for writing reports with R Markdown |
Flexdashboard for R | flexdashboard: Easy interactive dashboards for R |
rmdcss | CSS templates for R Markdown documents |
Markdown CSS | A Collection of stylesheets to make generated markdown, or raw HTML, look beautiful |
prettydoc | Creating Pretty HTML From R Markdown |
scottishsnow | Many reports from 1 RMarkdown file |
radix for R Markdown | Radix for R Markdown |
Distill for R Markdown | Distill for R Markdown is a web publishing format optimized for scientific and technical communication |
Creating a Website | Share a set of Distill articles as a website |
Word Up - Gotta Get Up To Get Bookdown | R is a powerful programming language for statistical computing with many packages and tools. The goal of this article is to arm you with tools and techniques for using bookdown and generating word output. |
nlmixr | nlmixr: an R package for population PKPD modeling |
nlmixrdevelopment | Running PK models with nlmixr |
Combining Shiny and R Markdown | R is a powerful programming language for statistical computing with many packages and tools. The goal of this article is to outline some ways to combine Shiny & R Markdown. |
gt | Easily generate information-rich, publication-quality tables for R |
learnr | Guide to Create Interactive Tutorials from R Markdown documents |
Leaflet for R | Leaflet is one of the most popular open-source JavaScript libraries for interactive maps. It’s used by websites ranging from The New York Times and The Washington Post to GitHub and Flickr, as well as GIS specialists like OpenStreetMap, Mapbox, and CartoDB. |
rpivotTable | A R wrapper for the great library pivottable |
DT | DT: An R interface to the DataTables library |
Learning D3 | Learning D3 |
r2d3: R Interface to D3 Visualizations | r2d3: R Interface to D3 Visualizations |
Package Development | Package Development for D3 |
Interactive Plots in Shiny | Interactive Plots in Shiny |
RStudio Portfolio Training Exercises | This document will guide you through a series of exercises that will introduce Shiny, Flexdashboards, R Markdown, parameterized reports, and Plumber APIs. These artifacts will be explored in the context of RStudio Connect. |
RStudio 1.2 Preview: Reticulated Python | RStudio 1.2 Preview: Reticulated Python |
reticulate | R Interface to Python |
Reticulated Shiny | Reticulated Shiny |
Keras | Keras is a high-level neural networks API developed with a focus on enabling fast experimentation. Being able to go from idea to result with the least possible delay is key to doing good research. |