Home

Awesome

Specifying an R environment with a runtime.txt file

Jupyter+R: Binder

RStudio: Binder

RShiny: Binder

Binder supports using R and RStudio, with libraries pinned to a specific snapshot on packagemanager.rstudio.com.

Requirements and suggestions

You need to have a runtime.txt file that is formatted like:

r-<r-version>-<YYYY>-<MM>-<DD>

where <r-version> is a version of R (like 4.1, 4.0, etc) you want to use, and <YYYY>-<MM>-<DD> is the date for a snapshot from packagemanager.rstudio.com that will be used for installing your R packages.

Try using a date newer than 2022-01-01, as you'll get faster package installs thanks to binary packages from rstudio.packagemanager.com!

To install R libraries, add install.package("<package-name>") calls to install.R. If you want to pin to a specific version of the library, you can also do devtools::install_version("<package-name>", "<version>").

For some R packages, you might need to install system packages via apt - you can do so by writing out a list of apt package names in apt.txt. You can find the list of such packages in the page for your package at packagemanager.rstudio.com. Make sure to select "Ubuntu 18.04 (Bionic)" in the dropdown on the top right.

Both RStudio and IRKernel are installed by default, so you can use either the Jupyter notebook interface or the RStudio interface.

This repository also contains an example of a Shiny app.

Alternatives

There are many ways to use R in mybinder.org!

rocker/binder - this uses a base image from the R community's excellent rocker project - you get a lot of curated base packages, faster binary package installs as well as ability to pin to a specific version of R (>4.0).

r-conda - mybinder.org also supports using the conda package manager to manage R and R packages. This gives you access to specific R versions as well as fast installs of R packages available in conda-forge

Another alternative is to use the holepunch package for R.

URL addresses for RStudio and Shiny environments

The Binder repository can be used to allow anyone to access an RStudio environment containing our code and data right in their web browser. It also allows hosting a Shiny app. For those purposes, we have to append a bit of text to the URL of our Binder repository, which we can find out at mybinder.org when we enter the URL of our original repository from GitHub or Figshare, etc.