graph TD
A[Part A: Foundations] --> B[Part B: Design, Sampling, and Measurement]
B --> C[Part C: Analysis Methods]
C --> D[Part D: Reporting]
B --> E[Part E: Worked Projects]
C --> E
D --> E
Preface
This textbook addresses a common challenge in applied research: how to conduct rigorous quantitative analysis when sample sizes are small. Whether you are studying remote communities, rare clinical conditions, pilot educational programmes, or exploratory projects with limited resources, the principles and tools in this guide will help you make sound inferences from modest datasets.
Who This Textbook Is For
This textbook is written for undergraduates, taught masters students, and early-career PhD researchers in social sciences, health sciences, business, and education who regularly work with samples of approximately 10 to 100 observations. It is particularly relevant for:
- Researchers conducting studies in Small Island Developing States (SIDS) and similar resource-constrained contexts
- Educational practitioners evaluating classroom interventions with small class sizes
- Health researchers studying rare conditions or conducting pilot clinical trials
- Business analysts testing new strategies in small markets or with limited customer bases
- Social scientists conducting community-based participatory research
What You Will Learn
You will learn to:
- Recognise when small-sample methods are necessary and appropriate.
- Apply exact tests, resampling methods, and rank-based procedures.
- Fit regression models with penalised or Bayesian techniques when classical approaches fail.
- Use multi-criteria decision-making (MCDM) tools for structured evaluation with limited cases.
- Report results transparently, with appropriate uncertainty quantification.
All methods are implemented in R using a curated set of packages. Every code example is designed to run cleanly in a fresh R session, and datasets are small enough to inspect and understand directly.
All figures and tables are intended to be regenerated on a fresh machine by running renv::restore() followed by the appropriate Quarto render command from the project root. Helper functions used for repeated formatting or simulation tasks are stored in the R/ directory so they can be inspected and sourced directly.
Structure of the Textbook
Part A: Foundations introduces the rationale for small-sample research and how to frame research questions that suit limited data.
Part B: Design, Sampling, and Measurement covers sampling strategies, measurement quality, short-scale reliability and development, data screening, and missing-data handling.
Part C: Analysis Methods presents the core toolkit: exact and resampling tests, nonparametric methods, sparse-count and short-time-series methods, penalised and Bayesian regression, and multi-criteria decision-making (MCDM).
Part D: Reporting and Interpretation discusses how to communicate findings, handle uncertainty, and document analytic choices.
Part E: Worked Projects offers complete case studies that integrate multiple methods from earlier chapters.
Planned companion volumes will provide guided lab practicals, instructor-only teaching resources, and chapter-aligned slides. These materials are being developed as a separate release so the textbook can stand on its own as the primary publication.
Self-assessment questions appear in the textbook so students can check their understanding while reading. Full answer keys and suggested grading guidance are planned for the companion Instructor Manual; students should attempt the questions before consulting those materials.
Reading Paths
- Linear path: Work through Parts A -> B -> C -> D -> E sequentially for comprehensive coverage.
- Methods-focused path: Start with Part B if you already understand the practical constraints of small-sample research.
- Project-based path: Begin with Part E and refer back to the earlier chapters when you need method details.
Quick Method Selection Guide
This table is a starting point, not a substitute for design judgement. Use it to locate the most relevant chapter, then check the assumptions, sample-size cautions, and reporting guidance in that chapter before analysing your data.
| Research situation | Typical small-n setting | Recommended starting point | Chapter |
|---|---|---|---|
| Planning a study with limited feasible recruitment | n is constrained by budget, access, or population size | Frame one primary question, identify the minimum detectable effect, and separate feasibility aims from confirmatory claims | Chapter 2 |
| Sampling from a known small population | A sampling frame exists but the accessible population is small | Use stratified or finite-population planning when probability sampling is feasible | Chapter 3 |
| Developing or revising a short scale | Early pilot samples of about 5 to 30 participants | Prioritise cognitive interviews, content validity, item diagnostics, and cautious reliability estimates | Chapters 4 to 6 |
| Screening data before analysis | A few unusual cases could affect means, correlations, or regression slopes | Use visual checks, outlier diagnostics, multicollinearity screens, and sensitivity analyses | Chapter 7 |
| Handling missing observations | Missingness is visible but the mechanism is uncertain | Diagnose patterns first; use complete-case analysis only when defensible; use MI cautiously and check diagnostics | Chapters 8 and 9 |
| Comparing small binary or count outcomes | Sparse 2x2 tables, rare events, or benchmark rates | Prefer exact tests and exact intervals before relying on large-sample approximations | Chapters 10 and 12 |
| Comparing skewed or ordinal outcomes | Continuous assumptions are doubtful or the outcome is ordinal | Use rank-based tests with effect sizes and shape-aware interpretation | Chapter 11 |
| Regression with separation or many predictors | Logistic separation, unstable slopes, or p approaching n | Consider Firth logistic regression, ridge/LASSO, or clearly justified Bayesian regularisation | Chapter 13 |
| Choosing among fixed alternatives | Few options must be ranked across multiple criteria | Use AHP, TOPSIS, or VIKOR as transparent decision tools, not as inferential tests | Chapter 14 |
| Reporting a small-sample result | p-values alone do not answer the substantive question | Lead with estimates, confidence intervals, effect sizes, practical thresholds, and uncertainty | Chapters 15 and 16 |
| Writing and presenting the final report | Analytic choices and limitations need to be auditable | Document deviations, multiple comparisons, limitations, and uncertainty visualisations | Chapters 17 and 18 |
Concept Map
Software and Packages
All analyses use R (version 4.3 or later) and Quarto for reproducible reporting. Core packages include:
- tidyverse for data manipulation and visualisation
- rstatix for common statistical tests with tidy output
- boot for bootstrap resampling
- exact2x2 for exact tests on 2x2 tables
- logistf for Firth-penalised logistic regression
- glmnet for ridge, lasso, and elastic net regression
- mediation for simple mediation analysis with bootstrap confidence intervals
- gt for publication-ready tables
- performance for model diagnostics
- psych for reliability and factor analysis
- DescTools for descriptive and supporting inferential functions
- MASS for negative binomial regression
- scales for axis labels and percentage formatting
- naniar for missing-data summaries and MCAR checks
- patchwork for combining plots
- ggdist (optional) for raincloud and half-eye uncertainty plots
- brms (optional) for Bayesian regression with Stan
install.packages(c(
"tidyverse", "rstatix", "boot", "exact2x2", "logistf", "glmnet",
"mediation", "gt", "performance", "psych", "DescTools", "MASS", "scales",
"naniar", "patchwork", "ggdist", "brms"
))Conventions
- British English spelling and punctuation are used throughout.
- Code chunks include
library()calls so each example can be run independently. - Random number generation uses
set.seed(2025)for reproducibility. - Figures, tables, and worked examples are numbered within chapter.
- File paths are relative to the project root.
Acknowledgements
This textbook draws on the work of many contributors to small-sample methodology, including Van de Schoot and Miočević (2020), Davison and Hinkley (1997), Good (2005), Conover (1999), Firth (1993), Harrell (2015), Hosmer, Lemeshow, and Sturdivant (2013), and Shan (2018).
You are encouraged to work through the chapters in order, running the code examples in your own R environment. The datasets and helper functions referenced in the text are provided in the data/ and R/ directories of this project.