-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
Context
The contact-matrices episode explains symmetric contact matrices but currently lacks a visual comparison that makes the symmetry argument concrete.
The script 73-socialmixr-ggplot.R in epicatador has two helper functions (format_big_mark, matrix_to_ggplot) that produce ggplot heatmaps of the contact matrix.
Plan
Add a single chunk (on a new branch) that:
- Defines
format_big_mark()— formats tile labels as human-readable numbers (K/M). - Defines
matrix_to_ggplot()— converts a contact matrix to ageom_tileheatmap usingcolorspace::scale_fill_continuous_sequential(palette = "OrYel"). - Produces two plots side by side or sequentially:
- Plot 1:
contacts_byage$matrix— mean contacts (asymmetric rates). - Plot 2:
contacts_byage$matrix * contacts_byage$demography$population— total contacts (symmetric).
- Plot 1:
The contrast between the two plots makes the symmetry argument visual and explicit.
Adaptations from source
- Uses standard
contacts_byageobject (already loaded upstream viacontactsurveyspattern). - Uses
|>instead of%>%. - Explicit
pkg::namespacing. - No
socialmixr::get_survey()— survey loaded upstream.
Dependencies
colorspace(forscale_fill_continuous_sequential)scales(forlabel_number)ggplot2,dplyr(already used in the episode)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels