Elevating your research through software development

Kylie Ainslie

How many consider yourself software developers?

Me either.

And yet…

Look familiar?

What if there was a better way?

How?

Structure your project like a software package

  1. Organise
  2. Share
  3. Extend

Organise

Organise

Typical Project

myproject/
├── analysis.R
├── analysis_FINAL.R
├── analysis_FINAL_v2.R
├── code_guide.pdf
├── data_raw.csv
├── final_report.pdf
├── final_report_FINAL.pdf
├── functions.R
├── methodology.docx
└── more_functions.R

Package Structure

📦 mypackage/
├── R/            # Code
├── inst/extdata/ # Data + Scripts 
├── man/          # Help files
└── vignettes/    # Analysis

Organise

Typical Project

myproject/
├── analysis.R
├── analysis_FINAL.R
├── analysis_FINAL_v2.R
├── code_guide.pdf
├── data_raw.csv
├── final_report.pdf
├── final_report_FINAL.pdf
├── functions.R
├── methodology.docx
└── more_functions.R

Package Structure

📦 mypackage/
├── R/            # Code
    ├── functions.R
    └── more_functions.R
├── inst/extdata/ # Data + Scripts 
├── man/          # Help files
└── vignettes/    # Analysis

Organise

Typical Project

myproject/
├── analysis.R
├── analysis_FINAL.R
├── analysis_FINAL_v2.R
├── code_guide.pdf
├── data_raw.csv
├── final_report.pdf
├── final_report_FINAL.pdf
├── functions.R
├── methodology.docx
└── more_functions.R

Package Structure

📦 mypackage/
├── R/            # Code
├── inst/extdata/ # Data + Scripts
    ├── analysis.R
    ├── analysis_FINAL.R
    ├── analysis_FINAL_v2.R
    └── data_raw.csv
├── man/          # Help files
└── vignettes/    # Analysis

Organise

Typical Project

myproject/
├── analysis.R
├── analysis_FINAL.R
├── analysis_FINAL_v2.R
├── code_guide.pdf
├── data_raw.csv
├── final_report.pdf
├── final_report_FINAL.pdf
├── functions.R
├── methodology.docx
└── more_functions.R

Package Structure

📦 mypackage/
├── R/            # Code
├── inst/extdata/ # Data + Scripts
├── man/          # Help files
└── vignettes/    # Analysis
    ├── code_guide.Rmd
    ├── methodology.Rmd
    └── report.Rmd

Let’s travel back in time

June 2021 in the Netherlands

June 2021 in the Netherlands

June 2021 in the Netherlands

Should the Netherlands extend COVID-19 vaccination to adolescents and children?

Structure

Package Structure

📦 mypackage/
├── R/            # Code
├── inst/extdata/ # Data + Scripts
├── man/          # Help files
└── vignettes/    # Analysis

Organise → Efficiency

Organise → Efficiency

  • 🔄 Model rapidly updated as new data came in
  • Analysis delivered on time
  • 💉 Directly informed national health policy

Share

Scabies in the Netherlands

Vink et al.

💻

Vink et al.

📦

Document

Document

  • 🚀 Quick start guide

Document

  • 🚀 Quick start guide
  • 📊 Worked examples

Document

  • 🚀 Quick start guide
  • 📊 Worked examples
  • Validation

Document

  • 🚀 Quick start guide
  • 📊 Worked examples
  • Validation
  • 📄 Reproduce paper results

Document

Collaboration

Share → Collaboration

Share → Collaboration

One piece of research. Two outputs

Extend

Using AI

The Warehouse

Extend → Innovate

Extend → Innovate

  • 💡 Leverage new technology
  • 🛠️ Develop tools beyond your research area

It started with a folder.

Your turn!

  • Try a package structure for your next project
  • Tons of tools and learning materials available
  • You’ll never go back to messy folders
The Turing Way
Software Carpentry
Research Software Engineering
Bannert
R Packages
(R users)

Get in touch!

linkedin.com/in/kylieainslie

@kylieainslie.bsky.social

github.com/kylieainslie

kylieainslie.github.io

rwarehouse.netlify.app