Binder supports using R and RStudio, with libraries pinned to a specific snapshot on packagemanager.rstudio.com.
You need to create or edit runtime.txt
file that is located in the binder
folder and 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
located in the binder
folder. 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.
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.
-
For the RStudio environment, we must add the following at the end of the URL:
?urlpath=rstudio
-
For the Shiny app environment, we must add the following at the end of the URL:
?urlpath=shiny
. In this case, we also have to note that if the Shiny app files are located in a folder, this folder should be specified in the URL, after a slash. We would then also have to put in a trailing slash at the end of the URL, and to avoid spaces in the name of the repository, placing instead a hyphen (the reason is that spaces are converted to%20
).