Program
The workshop will be structured in two parts: Practical foundations of writing and a hackathon. The practical foundations will provide a start-to-finish example that attendees can follow. The hackathon component will be oriented to developing attendees’ own R packages, expecting them to complete the workshop with their own package.
Registration and breakfast
Registration will start at 8.30 am. Breakfast will be provided.
Part I: Practical Foundations (9.00 am - 12.00 pm)
The first component of the workshop will cover the following topics:
- Fundamentals about R packages: Structure, DESCRIPTION file, NAMESPACE, etc.
- Documentaion using roxygen2.
- Testing using testthat/tinytest.
- Continuous integration using GitHub Actions.
- Extended documentation: Vignettes.
The contents will be taught using a start-to-finish example that attendees can follow. Slides can be accessed here (source).
An example R package with a Shiny app that will be reviewed during the workshop can be accessed at https://github.com/EpiForeSITE/shiny-demo-pkg. Other R packages featured during the workshop:
- The
netdiffuseR
R package which usesroxygen2
templates. - The
epiworldRShiny
package that uses a complex structure for hosting shiny apss.
Lunch (12.00 pm - 1.00 pm)
Part II: Hackathon (1.00 pm - 4.30 pm)
The hackathon will be oriented to developing attendees’ own R packages, expecting them to complete the workshop with their own package. The hackathon will be structured in the following way:
- Defining the ideal package (15 min).
- Defining the scope for the hackathon (15 min).
- Implementation of the package (checklist) (2.5 hours).
- Next steps (30 min).