Case Studies
A selection of representative projects, anonymised to protect client confidentiality. Names and figures are generalised, but the problems — and the way we solved them in R — are real.
Selected work
What we build, in practice
Sample-size & power for a clinical trial
Challenge A research team needed a defensible sample size for a two-arm trial before applying for ethics approval, with several candidate effect sizes on the table.
Approach We ran a scripted power analysis across the plausible effect-size range, produced power curves and a sensitivity table, and documented every assumption in a reproducible Quarto memo.
Result A justified target N per arm that went straight into the protocol and grant application — reproducible if a reviewer asked for a different assumption.
Survey & scale analysis with an APA report
Challenge A postgraduate researcher had ~300 questionnaire responses and needed validated scale scoring, group comparisons and a submission-ready write-up.
Approach We scored the instrument (including reverse-coded items), checked reliability and assumptions, ran the group comparisons, and generated APA 7 tables and figures directly from R with officer/flextable.
Result A complete results section and a reproducible script the researcher could rerun after data cleaning — no manual copy-paste between SPSS and Word.
An interactive Shiny decision dashboard
Challenge An operations team was emailing static spreadsheets back and forth to track and compare metrics across sites.
Approach We built a Shiny dashboard with filters, drill-downs and exportable figures, deployed it behind authentication, and connected it to a scheduled data refresh.
Result A single live tool that replaced a fragile spreadsheet workflow — self-serve for the whole team, always up to date.
A parameterised monthly reporting pipeline
Challenge A team was rebuilding the same multi-section report by hand every month, per site — slow and error-prone.
Approach We wrote one parameterised Quarto template and a driver script that regenerates every report from raw data with a single command, in Word and PDF.
Result Dozens of reports produced in minutes instead of days, each one guaranteed to match its underlying data.
An internal R package for recurring analyses
Challenge A group’s analysis logic lived in scripts copy-pasted between projects, drifting out of sync.
Approach We captured the shared logic in a documented, unit-tested R package with continuous-integration checks and a pkgdown site.
Result One installable source of truth — new analyses start from tested functions instead of last project’s copy.
Survival analysis for a cohort study
Challenge A clinical group needed Kaplan–Meier estimates, group comparisons and publication-quality figures for a time-to-event outcome.
Approach We fit the models with the survival package, ran log-rank tests and Cox regression, and drew fully controlled curves with risk tables in ggplot2.
Result Journal-ready survival figures and a methods section that survived peer review — all reproducible from the raw data.
How we work
From question to deliverable
Behind every example above is the same four-step engagement: scoping, a fixed proposal, delivery and handover. You can read more about who we help or the services we offer.
Have a problem that looks like one of these — or nothing like them? Tell us about it and we’ll say honestly whether R is the right tool.