All Projects → jakubnowicki → r-codespaces

jakubnowicki / r-codespaces

Licence: other
GitHub Codespaces configuration for R and Shiny.

Programming Languages

r
7636 projects
shell
77523 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to r-codespaces

Vscode Dev Containers
A repository of development container definitions for the VS Code Remote - Containers extension and GitHub Codespaces
Stars: ✭ 2,715 (+7237.84%)
Mutual labels:  codespaces, github-codespaces
shiny-directory-input
An shiny input widget for selecting directories
Stars: ✭ 43 (+16.22%)
Mutual labels:  shiny-applications
ssvm-deno-starter
A template project to run Rust functions in Deno through the Second State WebAssembly engine.
Stars: ✭ 50 (+35.14%)
Mutual labels:  codespaces
base
A basic Codespaces environment that can be expanded upon to build your ideal environment
Stars: ✭ 37 (+0%)
Mutual labels:  codespaces
shinyAppTutorials
a collection of shiny app demonstrations 📊
Stars: ✭ 50 (+35.14%)
Mutual labels:  shiny-applications
daattali.github.io
Dean Attali's website - R/Shiny Consultant
Stars: ✭ 51 (+37.84%)
Mutual labels:  shiny-applications
wasmedge-nodejs-starter
A template project to run Rust functions in Node.js through the Second State WebAssembly engine.
Stars: ✭ 148 (+300%)
Mutual labels:  codespaces
vs-code-container-with-ssl
Launch your own Code Server container with preloaded SDKs for React, Python, C#, Cloud CLIs, secured by SSL Reverse Proxy.
Stars: ✭ 54 (+45.95%)
Mutual labels:  codespaces
awesome-devcontainers
A curated list of awesome tools and resources about dev containers for common programming languages and technology stacks to boost your developer productivity 🚀
Stars: ✭ 165 (+345.95%)
Mutual labels:  codespaces
universe2021
All things GitHub Universe 2021!
Stars: ✭ 112 (+202.7%)
Mutual labels:  codespaces

GitHub Codespaces configuration for R

This repository contains a basic configuration that allows working with R in GitHub Codespaces. It is based on official Github Codespaces dev container for R. It includes R and R LSP Client VSCode extensions. It comes with renv setup which includes languageserver package required to enable the latter extension. To install it, open R in Codespaces console and type renv::restore().

Adjusting configuration to your needs

Different R version

This configuration is based on rocker/r-ver:4.1.2 Docker image with installed dependencies required by languageserver package. You can change that and replace the current image with the one of your choice in .devcontainer/Dockerfile. Check rocker repositories for available options.

Remember that current Dockerfile is suited for images based on Ubuntu.

Installing R packages

I strongly recommend using renv when it comes to setting your working environment in R. This configuration comes with initalized workspace but you can easily create your own one. Just remember that languageserver is required for R LSP Client extension to work (it needs to be installed, adding to renv.lock file is optional).

renv configuration set here as default comes with (already mentioned) languageserver, lintr and styler packages. To enable detection by renv, all three are included in develop_packages.R file. This way you can run renv::snapshot() without setting any additional option like type = "all" and include them in your R environment setup.

Adding VSCode extensions

Besides extensions for R, this configuration includes a few additional ones that can be helpful in development. You can add additional extensions in .devcontainer/devcontainer.json file in "extensions" section.

Running Shiny applications

R extension allows running Shiny applications from Codespaces. To do that, follow these steps (you can use sample Shiny Old Faithful app):

  1. Install shiny and all R dependencies required by your app by opening R in Codespace console.
  2. You will need an entry file.
    • In single file apps it is just the same file as the app (shinyApp(ui = ui, server = server) at the end of the file).
    • In multiple files app you need an additional file with shiny::runApp(appDir = "app_dir") function that points to the app directory.
  3. Run this file with R: Run soure with echo command (shortcut: Ctrl/Cmd + Shift + Enter)
  4. App will be available at a specific port. You can set it as function argument (eg. shiny::runApp(appDir = "app+dir", port = 8888)) or leave it so it will be chosen randomly. Now you need to forward that port so you can access the app in your browser. VSCode Remote extension is super handy here. It will list all available ports and you can forward them just by a single click.
  5. Enjoy playing with your app!
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].