Reproducible Reporting with R (R3)
The Working Group on the Northwest Atlantic Regional Sea (WGNARS) hosted a 8-week webinar training series in Spring 2021 on Reproducible Reporting with R (R3) for marine ecological indicators. All sessions were recorded, and videos can be found on the main webpage. The training series gives a great intro to using GitHub with RStudio, as well as using RStudio for data visualization, mapping, communication, and more. All topics covered are listed below.
Topics covered
Topic | Description |
---|---|
Collaborate | Use Github to share and version code, as well as handle basic project management with issues and project boards. The RStudio development environment will be introduced to interface with git and Github. Use of Github Pages to host knitted Rmarkdown documents will enable sharing of online reports. |
Manipulate | Use the latest “tidyverse” of R packages (readr, dplyr, tidyr, stringr, lubridate) for wrangling data and sequencing operations with the pipe (%>%) operator. |
Visualize | Use principles of the “grammar of graphics” to develop static plots in the R package ggplot2. Make these interactive with plotly. Develop dedicated time series plots with dygraphs. |
Map | Read and write vector data (points, lines, polygons) using the spatial features sf R package in conjuction with dplyr to wrangle and summarize. Use the raster R package for gridded data. Generate interactive maps with leaflet. |
Report | Dive into Rmarkdown for for knitting formatted text (markdown) with chunks of evaluated R code into html, pdf and docx formats. Use Rmarkdown for single page reports, bookdown for reports with chapters, flexdashboard for dashboards and Rmarkdown websites for simple websites with shared navigation. Automatically render with Github Actions. |
Infographics | Use a custom infographiq Javascript library to intelligently link icons of ecosystem elements to pop-up windows containing data figures, which could be static images or interactive visualizations. |
Applications | Use the Shiny framework to develop online interactive applications accepting user input to render outputs from arbitrary R functions. Server requirements differentiating from simpler Rmarkdown renderings will be reviewed as well as use of Crosstalk to gain similar functionality with Rmarkdown with simple data. |