Comparing two groups · Choose a method

Can you run a t-test with n = 3?

Yes, a t-test works with three per group if each is an independent replicate — but it detects only large effects. Here is what n = 3 can tell you and how to use it well.

By Licklider · Published · Last reviewed · How this page was made · Markdown

On this page
  1. First: is it really n = 3?
  2. What three per group can detect
  3. A worked example
  4. Four traps at n = 3, and what to do instead
  5. Journals and reviewers
  6. How to use n = 3 well
  7. Report it
  8. References

Quick answer. A t-test runs with three values per group, and if the effect is very large it can detect it. But with n = 3 you have 80% power only for differences of about 3 standard deviations or more; normality and equal variances have to come from what you know about the measurement, because three points cannot test them; the confidence interval is wide; and the result means something only if each of the three is an independent biological replicate, not a technical repeat. Use n = 3 for a clear, pre-specified question with a large expected effect, report the interval, and plan larger groups for anything subtle.

First: is it really n = 3?

Count the units that were independently randomised or sampled:

  • Three mice per group, one measurement each: n = 3.
  • One mouse per group, measured in triplicate wells: n = 1. The wells show measurement precision, not biological variation. No t-test can compare groups of one.
  • Three independent experiments (different days, cultures or animals), each with several wells: n = 3 — average the wells within each experiment first, then compare the three experiment means.

Counting cells or wells as n is a frequent error. Treating each cell as a separate n “can easily result in false-positive rates of >50%” (Lord et al. 2020), and in a sample of 200 animal studies where a treatment was given to parents and outcomes were measured in their offspring, 46% had pseudoreplication and only 22% analysed the correct unit (Lazic et al. 2018).

What three per group can detect

The table shows the smallest standardised difference (difference between means ÷ SD within groups) that a two-sided t-test at α = 0.05 detects with 80% power. Calculated with our sample size calculator and checked against R’s pwr package.

Per group Smallest detectable difference (in SDs)
3 3.07
4 2.38
5 2.02
6 1.80
8 1.51
10 1.32
20 0.91

A 3-SD difference means the groups barely overlap. Knockdowns, knockouts and strong drug effects can reach that; most biological effects are smaller. With n = 3 a “non-significant” result therefore says very little: a real, moderate effect would usually be missed. Check your own expected effect in the calculator before settling on n = 3.

A worked example

A constructed example: relative protein level in three independent control cultures and three knockdown cultures.

from scipy import stats

control   = [1.02, 0.95, 1.08]
knockdown = [0.41, 0.55, 0.38]
r = stats.ttest_ind(knockdown, control, equal_var=False)   # Welch's t-test
print(r.statistic, r.df, r.pvalue, r.confidence_interval())

Result: difference −0.57 (knockdown minus control), Welch’s t(3.63) = −8.84, p = 0.0014, 95% CI −0.76 to −0.38. R’s t.test(knockdown, control) gives the same.

This is n = 3 working as intended: a large, expected effect, clearly detected. Notice the interval: even with this huge effect it spans 0.37 units, because with so few values the t-distribution’s critical value is large (2.78 for 4 degrees of freedom, against 2.10 for 18).

Four traps at n = 3, and what to do instead

  • Assumptions: decide them from the measurement. With three points, normality and equal variances are beyond testing; normality tests lack power in small samples (Rochon, Gondan & Kieser 2012). Use what is known about the measurement instead — for example, analyse concentrations on a log scale.
  • Rank tests: use the t-test. With three per group the exact two-sided Mann–Whitney test stops at p = 0.10 even with complete separation, so the t-test remains the analysis to use (Mann–Whitney vs t-test).
  • Test choice: fix it in advance. At small n, switching tests changes p-values a lot. Write the test into the plan and report that one.
  • p > 0.05: read it as “not enough data to tell”. Report the interval, which will usually include effects you would care about.

Student’s or Welch’s? At very small sizes the two can differ. Welch’s test is the safer default for false positives, but it loses power when its degrees of freedom shrink. A simulation study of samples of five or fewer found “no objections to using a t-test with extremely small samples, as long as the effect size is large”, while cautioning about the credibility of findings from small samples (de Winter 2013). Whichever you choose, choose it in advance — see Welch vs Student.

Journals and reviewers

Small groups are common in lab biology: across 614 physiology articles, the median smallest group shown in a figure had four independent observations (interquartile range 3 to 6) (Weissgerber et al. 2015). Some journals now set a floor. The British Journal of Pharmacology has “set 5 as the minimum ‘n’ required for datasets subjected to statistical analysis”; smaller groups must be labelled exploratory or preliminary (Curtis et al. 2018). Expect a reviewer to ask what n counts, how the sample size was chosen, and whether a non-significant result was adequately powered.

How to use n = 3 well

  1. Plan for the effect you expect. Use the sample size calculator before the experiment; if the expected effect is under about 3 SDs, three per group does not give 80% power.
  2. Make each replicate independent — separate animals, cultures or days — and average technical repeats within them.
  3. Fix the analysis in advance: which test, one comparison, two-sided.
  4. Report the estimate and its interval, show all individual values, and say plainly that n = 3 limits what the experiment can detect.
  5. Treat a surprising or borderline result as a reason to replicate, not as a conclusion.

Report it

Protein levels were compared between three independent control and three independent knockdown cultures (each the mean of technical triplicates) with a two-sided Welch’s t-test: difference −0.57 (95% CI −0.76 to −0.38), t(3.63) = −8.84, p = 0.001. With n = 3 per group the experiment had 80% power only for differences of about 3 SDs or more.

References

  • Curtis MJ, Alexander S, Cirino G, et al. (2018). Experimental design and analysis and their reporting II: updated and simplified guidance for authors and peer reviewers. British Journal of Pharmacology 175:987–993. doi:10.1111/bph.14153
  • de Winter JCF (2013). Using the Student’s t-test with extremely small sample sizes. Practical Assessment, Research & Evaluation 18(10). doi:10.7275/e4r6-dj05
  • Lazic SE, Clarke-Williams CJ, Munafò MR (2018). What exactly is ‘N’ in cell culture and animal experiments? PLOS Biology 16(4):e2005282. doi:10.1371/journal.pbio.2005282
  • Rochon J, Gondan M, Kieser M (2012). To test or not to test: preliminary assessment of normality when comparing two independent samples. BMC Medical Research Methodology 12:81. doi:10.1186/1471-2288-12-81
  • Lord SJ, Velle KB, Mullins RD, Fritz-Laylin LK (2020). SuperPlots: communicating reproducibility and variability in cell biology. Journal of Cell Biology 219(6):e202001064. doi:10.1083/jcb.202001064
  • Weissgerber TL, Milic NM, Winham SJ, Garovic VD (2015). Beyond bar and line graphs: time for a new data presentation paradigm. PLOS Biology 13(4):e1002128. doi:10.1371/journal.pbio.1002128

How this page was made

  • Written and published by Licklider. Recommendations cite peer-reviewed methods papers and journal policies listed under References; cited figures were checked against the source text.
  • The worked example and detectable-effect figures were produced by stored code (Python with SciPy 1.18.1; R 4.3.3 with pwr 1.3-0), and the implementations agree.
  • Separate review passes checked the statistics, the citations and readability before publication.