R is an incredibly popular and widely used scripting language, with a host of tools developed by RStudio which make it almost trivial to create impressive interactive data visualisations and web apps that be simply and easily published to the web. For an overview of these tools and what can be done with them, consult our introduction to R and Shiny.
The IDN managed shinyapps.io account allows researchers at Oxford to host their Shiny apps for free, please consult this page for more details.
Courses on using R, RMarkdown and Shiny are run through the IT Learning Catalog, as well as a number of doctoral training centres on a termly basis. You may also download the materials directly here from Github. There is also a Lynda.com training course on Shiny here.
If you're new to R and Shiny, the following self-taught learning programme is recommended for University of Oxford researchers:
- Use the free introductory datacamp.com courses to learn the basics of the R language
- Become familiar with RStudio with this Lynda.com course
- Learn the basics of Shiny and RMarkdown with this Lynda.com course
- Review RStudio's own Shiny tutorial which is slightly more technical
- Refer to the github.com hosted tutorial here on htmlwidgets and Shiny apps
htmlwidgets Training
JavaScript is the language of the interactive web; Google Maps, fivethirtyeight.com, bbc.co.uk/sport all require JavaScript for dragging, clicking and hovering functionality.
htmlwidgets is a tool that allows R developers to make these interactive web elements available in individual R packages. This means users of these packages can create interactive JavaScript content using only the R language.
All of the interactive visualisations on this page (the time series, bar chart, networks and map) were built using htmlwidget libraries.
The IDN provides the following support in using htmlwidgets:
Shiny Training
Shiny is developed by RStudio and allows interactive applications like what you see on the right to be developed using only the R language.
The IDN supports users in building their own Shiny apps in the following ways:
Shiny allows data to be ingested from external sources, including live data. This includes the ability to access secure databases, or API. For this reason, Shiny is our recommended tool where you require server-side data processing/access.