← All work

Anonymized Clinician Survey · Delivered · 2026

Thirty-Four Specialists and One Whitespace Bug

Manuscript In Progress - Details Masked

The Scenario

Thirty-four specialists across two countries answered a practice survey. At that sample size, every large-sample statistical default quietly breaks.

The clinical team wanted between-country and within-respondent comparisons from a small, precious sample. The project is unpublished, so the specialty and countries stay masked. Two things carried this analysis: exact methods everywhere, and a data-quality discovery that changed the paper's headline number.

From Question to Answer

Clinical question

How does real-world practice differ between two countries, and within the same clinician across patient groups?

The evidence

34 respondents, 17 per country, categorical answers with sparse cells everywhere

The design

Exact tests and exact intervals only, plus forensic validation of the export itself

The answer

Defensible comparisons at n = 34, and a corrected headline count the team could trust

The Decisions That Mattered

Fisher's exact test for every between-group comparison.

Chi-square approximations need expected cell counts this sample cannot provide. Exact tests cost nothing here and are correct by construction.

Exact McNemar for the within-respondent question.

When the same clinician answers for two patient groups, the comparison lives in the discordant pairs. A binomial test on those pairs is the exact version.

Clopper-Pearson and Newcombe intervals for every proportion and difference.

At n = 17 per group, Wald intervals can escape the possible range. Exact and score intervals stay inside reality.

The forensics: two form deployments, distinguishable only by whitespace.

The export silently mixed two versions of the questionnaire whose answer options differed by invisible characters. Merging the cosmetic duplicates moved the headline count from 11 to 16 respondents. The fix is documented in a decision log and was independently re-verified by a second script.

Overview

Problem

A two-country practice survey with a sample size that breaks every large-sample default.

Approach

Exact tests and intervals throughout, plus forensic validation of the raw export before any tabulation.

Outcome

Delivered with a decision log and an independent verification script; manuscript in progress, topic masked until it is out.

Figures

Illustrative figure from simulated data; the real analysis stays with the journal and the clinical team.
Illustrative figure from simulated data; the real analysis stays with the journal and the clinical team.

Reproducible R Code

1

Exact inference at small n

# Between countries: exact, always
fisher.test(table(country, practice_item))

# Within the same respondent: exact McNemar via discordant pairs
d1 <- sum(ans_groupA == "yes" & ans_groupB == "no")
d2 <- sum(ans_groupA == "no"  & ans_groupB == "yes")
binom.test(d1, d1 + d2)

# Exact interval for any reported proportion
binom.test(x, n)$conf.int          # Clopper-Pearson

# And the forensics that mattered most:
# normalize invisible whitespace BEFORE tabulating anything
answers <- trimws(answers)