Descriptive Tables
Producing the baseline characteristics table and cross-tabulations that open almost every clinicopathological paper, reproducibly and in one consistent house style.
What it is
The first table of a paper does more work than it is credited for: it defines the cohort, exposes missingness, and lets a reader judge comparability. Hand-formatting it in Word is where reproducibility usually breaks first.
ClinicoPathDescriptives generates it directly. The workflow:
- Table 1 — baseline characteristics by group, auto-formatted. The module chooses summary statistics by distribution, switching to median [IQR] when normality fails. The footnote records what it chose, and the chapter’s instruction is to verify that footnote rather than assume.
- Cross-tabulations — chi-square or Fisher’s exact, with weighted or unweighted percentages. Small-cell warnings are meaningful and should trigger a switch to Fisher’s exact, not be silenced.
- Stratified analysis — Mantel-Haenszel for confounder adjustment in 2x2 tables.
- Mixed-model ANOVA — repeated-measures and nested designs.
- Missingness summaries — per variable and per pattern. The per-pattern view is the useful one: it shows whether missingness is structured, which determines whether complete-case analysis is defensible.
One statistical caution the module handles but that needs conscious use: a Table 1 with a p-value per row is a multiple-testing exercise. The module outputs an adjusted column and the chapter’s instruction is to use it. (There is a broader argument that baseline p-values in randomised studies are meaningless anyway — in observational cohorts, which is the group’s usual setting, standardised differences are often more informative than p-values.)
Why it matters for my work
Consistency across papers is the explicit design goal of the whole ClinicoPath approach, and descriptives are where inconsistency is most visible to reviewers. Every cohort study in the group starts here, which also makes it the natural place to catch data problems early — a missingness pattern spotted at Table 1 is far cheaper than one spotted at peer review.
How it connects
ClinicoPathDescriptives — the module implementing all of the above.
Survival Analysis Workflow — Table 1 is the standard companion to any survival analysis.
Class Imbalance and Accuracy — the group-size imbalance visible in Table 1 is often the first warning that accuracy will be a poor metric downstream.
jjstatsplot — the plotting counterpart, in the same visual style.
jamovi Module Development — how these analyses reach someone who does not write R, and why the R packages that already implement them (gtsummary, tableone, arsenal, finalfit) are usually wrapped rather than reimplemented.
Open questions
- Is there a house position on baseline p-values versus standardised differences in observational cohorts? Worth settling once rather than per paper.
- Does the module report missingness by pattern in a form that goes straight into a manuscript supplement? [unverified]