Figure Library / Learning paths
Locate missing observations · Synthetic teaching data
Subject-by-visit observation matrix
Are missing assessments isolated gaps or trailing runs within individual participants?
Adds individual observation histories to the aggregate completion display, with exact reconciliation of each visit denominator.
Explore the executed results
Selection switches exact precomputed results. It changes the figure, denominators, table, summary and current-selection downloads together. No analysis runs in this browser.
Python · All participants · 144 computed rows. Review population counts and exact values in the table below.
Image unavailable. Use the numerical table and downloads below.
Values behind this selection
The table scrolls within this panel. All computed rows are included in the current-selection CSV and JSON.
Display rounded to three decimals. Downloaded CSV/JSON retains analysis precision. “Unavailable” is not zero.
Arm-visit counts repeat on each subject row. Deduplicate them before summing. Compare exact completion counts.
| Population | Treatment arm | Fictional subject | Week | Observation status | Observation history | Observed n | Scheduled roster N | Missing n |
|---|---|---|---|---|---|---|---|---|
| All | Reference | S01 | 0 | Observed | Intermittent or early missing | 18 | 18 | 0 |
| All | Reference | S01 | 4 | Observed | Intermittent or early missing | 18 | 18 | 0 |
| All | Reference | S01 | 8 | Missing | Intermittent or early missing | 15 | 18 | 3 |
| All | Reference | S01 | 12 | Observed | Intermittent or early missing | 18 | 18 | 0 |
| All | Reference | S02 | 0 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S02 | 4 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S02 | 8 | Observed | Complete | 15 | 18 | 3 |
| All | Reference | S02 | 12 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S03 | 0 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S03 | 4 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S03 | 8 | Observed | Complete | 15 | 18 | 3 |
| All | Reference | S03 | 12 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S04 | 0 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S04 | 4 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S04 | 8 | Observed | Complete | 15 | 18 | 3 |
| All | Reference | S04 | 12 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S05 | 0 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S05 | 4 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S05 | 8 | Observed | Complete | 15 | 18 | 3 |
| All | Reference | S05 | 12 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S06 | 0 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S06 | 4 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S06 | 8 | Observed | Complete | 15 | 18 | 3 |
| All | Reference | S06 | 12 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S07 | 0 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S07 | 4 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S07 | 8 | Observed | Complete | 15 | 18 | 3 |
| All | Reference | S07 | 12 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S08 | 0 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S08 | 4 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S08 | 8 | Observed | Complete | 15 | 18 | 3 |
| All | Reference | S08 | 12 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S09 | 0 | Observed | Intermittent or early missing | 18 | 18 | 0 |
| All | Reference | S09 | 4 | Observed | Intermittent or early missing | 18 | 18 | 0 |
| All | Reference | S09 | 8 | Missing | Intermittent or early missing | 15 | 18 | 3 |
| All | Reference | S09 | 12 | Observed | Intermittent or early missing | 18 | 18 | 0 |
| All | Reference | S10 | 0 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S10 | 4 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S10 | 8 | Observed | Complete | 15 | 18 | 3 |
| All | Reference | S10 | 12 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S11 | 0 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S11 | 4 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S11 | 8 | Observed | Complete | 15 | 18 | 3 |
| All | Reference | S11 | 12 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S12 | 0 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S12 | 4 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S12 | 8 | Observed | Complete | 15 | 18 | 3 |
| All | Reference | S12 | 12 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S13 | 0 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S13 | 4 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S13 | 8 | Observed | Complete | 15 | 18 | 3 |
| All | Reference | S13 | 12 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S14 | 0 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S14 | 4 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S14 | 8 | Observed | Complete | 15 | 18 | 3 |
| All | Reference | S14 | 12 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S15 | 0 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S15 | 4 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S15 | 8 | Observed | Complete | 15 | 18 | 3 |
| All | Reference | S15 | 12 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S16 | 0 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S16 | 4 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S16 | 8 | Observed | Complete | 15 | 18 | 3 |
| All | Reference | S16 | 12 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S17 | 0 | Observed | Intermittent or early missing | 18 | 18 | 0 |
| All | Reference | S17 | 4 | Observed | Intermittent or early missing | 18 | 18 | 0 |
| All | Reference | S17 | 8 | Missing | Intermittent or early missing | 15 | 18 | 3 |
| All | Reference | S17 | 12 | Observed | Intermittent or early missing | 18 | 18 | 0 |
| All | Reference | S18 | 0 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S18 | 4 | Observed | Complete | 18 | 18 | 0 |
| All | Reference | S18 | 8 | Observed | Complete | 15 | 18 | 3 |
| All | Reference | S18 | 12 | Observed | Complete | 18 | 18 | 0 |
| All | Investigational | S19 | 0 | Observed | Complete | 18 | 18 | 0 |
| All | Investigational | S19 | 4 | Observed | Complete | 17 | 18 | 1 |
| All | Investigational | S19 | 8 | Observed | Complete | 15 | 18 | 3 |
| All | Investigational | S19 | 12 | Observed | Complete | 17 | 18 | 1 |
| All | Investigational | S20 | 0 | Observed | Complete | 18 | 18 | 0 |
| All | Investigational | S20 | 4 | Observed | Complete | 17 | 18 | 1 |
| All | Investigational | S20 | 8 | Observed | Complete | 15 | 18 | 3 |
| All | Investigational | S20 | 12 | Observed | Complete | 17 | 18 | 1 |
| All | Investigational | S21 | 0 | Observed | Complete | 18 | 18 | 0 |
| All | Investigational | S21 | 4 | Observed | Complete | 17 | 18 | 1 |
| All | Investigational | S21 | 8 | Observed | Complete | 15 | 18 | 3 |
| All | Investigational | S21 | 12 | Observed | Complete | 17 | 18 | 1 |
| All | Investigational | S22 | 0 | Observed | Complete | 18 | 18 | 0 |
| All | Investigational | S22 | 4 | Observed | Complete | 17 | 18 | 1 |
| All | Investigational | S22 | 8 | Observed | Complete | 15 | 18 | 3 |
| All | Investigational | S22 | 12 | Observed | Complete | 17 | 18 | 1 |
| All | Investigational | S23 | 0 | Observed | Complete | 18 | 18 | 0 |
| All | Investigational | S23 | 4 | Observed | Complete | 17 | 18 | 1 |
| All | Investigational | S23 | 8 | Observed | Complete | 15 | 18 | 3 |
| All | Investigational | S23 | 12 | Observed | Complete | 17 | 18 | 1 |
| All | Investigational | S24 | 0 | Observed | Complete | 18 | 18 | 0 |
| All | Investigational | S24 | 4 | Observed | Complete | 17 | 18 | 1 |
| All | Investigational | S24 | 8 | Observed | Complete | 15 | 18 | 3 |
| All | Investigational | S24 | 12 | Observed | Complete | 17 | 18 | 1 |
| All | Investigational | S25 | 0 | Observed | Intermittent or early missing | 18 | 18 | 0 |
| All | Investigational | S25 | 4 | Observed | Intermittent or early missing | 17 | 18 | 1 |
| All | Investigational | S25 | 8 | Missing | Intermittent or early missing | 15 | 18 | 3 |
| All | Investigational | S25 | 12 | Observed | Intermittent or early missing | 17 | 18 | 1 |
| All | Investigational | S26 | 0 | Observed | Complete | 18 | 18 | 0 |
| All | Investigational | S26 | 4 | Observed | Complete | 17 | 18 | 1 |
| All | Investigational | S26 | 8 | Observed | Complete | 15 | 18 | 3 |
| All | Investigational | S26 | 12 | Observed | Complete | 17 | 18 | 1 |
| All | Investigational | S27 | 0 | Observed | Complete | 18 | 18 | 0 |
| All | Investigational | S27 | 4 | Observed | Complete | 17 | 18 | 1 |
| All | Investigational | S27 | 8 | Observed | Complete | 15 | 18 | 3 |
| All | Investigational | S27 | 12 | Observed | Complete | 17 | 18 | 1 |
| All | Investigational | S28 | 0 | Observed | Complete | 18 | 18 | 0 |
| All | Investigational | S28 | 4 | Observed | Complete | 17 | 18 | 1 |
| All | Investigational | S28 | 8 | Observed | Complete | 15 | 18 | 3 |
| All | Investigational | S28 | 12 | Observed | Complete | 17 | 18 | 1 |
| All | Investigational | S29 | 0 | Observed | Complete | 18 | 18 | 0 |
| All | Investigational | S29 | 4 | Observed | Complete | 17 | 18 | 1 |
| All | Investigational | S29 | 8 | Observed | Complete | 15 | 18 | 3 |
| All | Investigational | S29 | 12 | Observed | Complete | 17 | 18 | 1 |
| All | Investigational | S30 | 0 | Observed | Complete | 18 | 18 | 0 |
| All | Investigational | S30 | 4 | Observed | Complete | 17 | 18 | 1 |
| All | Investigational | S30 | 8 | Observed | Complete | 15 | 18 | 3 |
| All | Investigational | S30 | 12 | Observed | Complete | 17 | 18 | 1 |
| All | Investigational | S31 | 0 | Observed | Complete | 18 | 18 | 0 |
| All | Investigational | S31 | 4 | Observed | Complete | 17 | 18 | 1 |
| All | Investigational | S31 | 8 | Observed | Complete | 15 | 18 | 3 |
| All | Investigational | S31 | 12 | Observed | Complete | 17 | 18 | 1 |
| All | Investigational | S32 | 0 | Observed | Complete | 18 | 18 | 0 |
| All | Investigational | S32 | 4 | Observed | Complete | 17 | 18 | 1 |
| All | Investigational | S32 | 8 | Observed | Complete | 15 | 18 | 3 |
| All | Investigational | S32 | 12 | Observed | Complete | 17 | 18 | 1 |
| All | Investigational | S33 | 0 | Observed | Intermittent or early missing | 18 | 18 | 0 |
| All | Investigational | S33 | 4 | Observed | Intermittent or early missing | 17 | 18 | 1 |
| All | Investigational | S33 | 8 | Missing | Intermittent or early missing | 15 | 18 | 3 |
| All | Investigational | S33 | 12 | Observed | Intermittent or early missing | 17 | 18 | 1 |
| All | Investigational | S34 | 0 | Observed | Complete | 18 | 18 | 0 |
| All | Investigational | S34 | 4 | Observed | Complete | 17 | 18 | 1 |
| All | Investigational | S34 | 8 | Observed | Complete | 15 | 18 | 3 |
| All | Investigational | S34 | 12 | Observed | Complete | 17 | 18 | 1 |
| All | Investigational | S35 | 0 | Observed | Complete | 18 | 18 | 0 |
| All | Investigational | S35 | 4 | Observed | Complete | 17 | 18 | 1 |
| All | Investigational | S35 | 8 | Observed | Complete | 15 | 18 | 3 |
| All | Investigational | S35 | 12 | Observed | Complete | 17 | 18 | 1 |
| All | Investigational | S36 | 0 | Observed | Trailing missing | 18 | 18 | 0 |
| All | Investigational | S36 | 4 | Missing | Trailing missing | 17 | 18 | 1 |
| All | Investigational | S36 | 8 | Missing | Trailing missing | 15 | 18 | 3 |
| All | Investigational | S36 | 12 | Missing | Trailing missing | 17 | 18 | 1 |
Why this figure, and what it estimates
A fixed-order subject-by-visit matrix exposes observation histories hidden by aggregate completion percentages. O and X preserve meaning without color.
Analysis contract
For every selected roster subject retain scheduled weeks 0, 4, 8 and 12. Nonmissing positive diameter in mm is Observed; an explicitly missing value is Missing. Each row includes the full selected arm-visit observed count and roster denominator. Classify complete, all-missing, trailing-missing, or intermittent/early-missing histories. No imputation, interval, multiplicity adjustment or dropout model.
Assigned fictional arms; baseline = scheduled Week 0. No visit windows or treatment switching. Subjects are independent; domain scores are invented 0–100 points. Missing outcomes stay missing; missing scheduled rows are rejected.
Full input, units, missingness, interval, rounding and tolerance specification
Do not overinterpret
A trailing run is not proof of withdrawal, censoring or cause of missingness. The pattern does not identify MCAR, MAR or MNAR. Arm-visit counts repeat on every subject row: deduplicate them before summarizing. All/F/M strata overlap. Never publish authorized real subject identifiers without a separate privacy review.
Alternative views
Use visit-completion curves for aggregate trajectories, disposition tables for reasons, and prespecified missing-data sensitivity analyses for inference.
Read, reproduce, then adapt
Four-step review guide · Compare complementary figures
Locate S01 and S36 in All participants. Explain why S01 is intermittent while S36 is trailing. Count Observed marks at Week 8 within each arm and reconcile 15/18 with the completion template. Explain why neither pattern establishes the mechanism of missingness.
- Open the selected CSV and reconcile counts before comparing outcomes.
- Run the minimal example locally, then inspect the native Figure or ggplot object.
- For your own authorized data, explicitly map subject, arm, scheduled time and units. Keep expected missing visits as rows, document exclusions, and revise the contract for your trial design.
- Run invalid-input and known-answer checks before comparing R/Python outputs.
Executed source and separate QC layers
Original author: Jaime Yan. Personal noncommercial use only. License · Required citation · Upstream attribution
Python reusable implementation · R reusable implementation · Complete reproducible source bundle
Extract the complete bundle and run these commands from its root. Recorded environments: Python · R.
python examples/visit_matrix.py All
Rscript --vanilla examples/visit_matrix.R All
python scripts/render_visit_matrix.py --rscript Rscript- Numerical validation
- 288 subject-visit rows independently agree in R/Python; counts and classifications exact.
- Data QC
- Keys, schedules, units, finite ranges, empty and sparse populations tested.
- Export QC
- CSV/JSON selection, parsed SVG, PNG dimensions, readable PDF text and Python text bounds checked.
- Package-risk assessment
- Not run. Numerical agreement is not package-risk or regulatory validation.
- Browser evidence
- Recorded separately in the local delivery report; no accessibility certification claimed.
Machine-readable numerical QC · Source, input and artifact hashes
Input: the library's original synthetic generator, seed 20260921, 36 fictional participants. Separate from CDISC Pilot. The deterministic missingness mechanism is described in the contract. No patient or employer records.