Course website and source for BIOS 667 (UNC Gillings School of Global Public Health), based on Fitzmaurice, Laird & Ware (2011), Applied Longitudinal Analysis (2nd ed.).
- Live site: https://biodatascience.github.io/longitudinal
- Source (this repo,
mainbranch): Quarto.qmdfor 19 lecture decks and 6 homeworks - Rendered site (
gh-pagesbranch): built byquarto publish gh-pages
This repo is student-facing: it contains lectures and homework prompts, but no answer keys and no
quizzes. Quizzes are given in class on paper, so both the quiz prompts and all solution keys (homework
and quiz) live in the separate private repo biodatascience/longitudinal_key.
_quarto.yml website config (renders index + lectures + homework)
index.qmd the schedule / landing page
2026/lectures/ BIOS667_L01..L19_*.qmd 19 reference decks (RevealJS) + _notation_box includes
2026/homework/ HW{1..6}.qmd student homework (no solutions)
2026/handouts/ supplementary handouts
data/ all datasets the materials load (committed; no download needed)
figs/ , unc-gillings.css render dependencies
2026/setup.R , 2026/DESCRIPTION R package install + dependency list
2026/NOTATION_REFERENCE.md the notation canon all decks follow
2026/LECTURE_TIMING_PLAN.md per-deck class-period counts
2026/DELIVERY_NOTES.md read before teaching (presenting, distributing, offline math)
CLAUDE.md full authoring + statistical conventions
The decks load data with ../../data/<file> (the committed copies), so a clone renders with no
internet dependency. Each loader still keeps a download-fallback to the FLW site as a secondary path.
- R >= 4.5 (tested on 4.5.1 / 4.6.0): https://cloud.r-project.org
- Quarto >= 1.5 (tested on 1.8): https://quarto.org/docs/get-started/ (bundles Pandoc; pulls LaTeX and a headless Chrome on first use)
quarto check # Quarto, Pandoc, LaTeX, Chrome, R/knitr engine should all report OK
Rscript 2026/setup.R # installs only the missing R packages (full list in 2026/DESCRIPTION)A missing R package is the most common render failure, so run setup.R before anything else.
quarto preview # live preview with auto-reload (opens the schedule page)
quarto render # build the whole site into _site/To render a single file while authoring:
quarto render 2026/lectures/BIOS667_L08_Covariance_ch8_LME.qmd
quarto render 2026/homework/HW1.qmdFirst renders are slower (package load + a few slow models, e.g. HW5's bootstrap, L17's 128 slides).
The site is served from the gh-pages branch. After changes to main:
quarto publish gh-pagesThis renders the site and pushes the result to gh-pages (Quarto manages that branch for you). Source
stays on main; you never edit gh-pages by hand. In the repo's Settings -> Pages, set the source
to the gh-pages branch (root) once.
Quizzes and all answer keys are not in this repo. They live in
biodatascience/longitudinal_key (private): the quiz prompts (Quiz{N}.qmd, given in class on
paper), the quiz keys (Quiz{N}_solution.qmd), and the homework keys (HW{N}_solution.qmd). Keeping the
blank quizzes private avoids exposing the questions before they are administered. Keep that repo private
and out of anything shared with students. The homework prompts here and the keys there share the same
structure, so a key renders against the same data/ copies.
Read 2026/DELIVERY_NOTES.md. Key points:
- Equations load their math library from a CDN. With room WiFi this is invisible. For a no-internet
room, open the rendered
.htmlonce while online (the browser caches the math), then it renders offline. - Present from the published / pre-rendered
.html, do not re-render live. - Due dates in the homework say "See Canvas" - set the real dates in Canvas.
- All reported numbers are inline-R (recomputed at render), so prose never drifts; but
set.seed(667)output can shift slightly across package versions - read numbers off the current render, not memory.