statforclinicians

Pearson correlation

Measures how strongly two numeric measurements are related in a straight line, from −1 to 1.

Statistically reviewed by Daniel Wolff on 5 November 2026.

Clinical example

How strongly body mass index and systolic blood pressure move together in a group of patients. Age affects both, so to adjust for it you would move to linear regression.

When to use it

  • You have two measurements per patient and want to know how strongly they move together.
  • The relationship is a straight line on a scatter plot. For the CI and p-value, both variables should be roughly normal, and outliers matter more than normality.
  • You describe an association. You are not showing that two methods give the same values.
  • Correlation describes association only. For how much one variable changes per unit of the other, or to adjust for a confounder, use linear regression.

Assumptions to check

A straight-line relationship

Plot a scatter diagram first. A curve that keeps going one way (a monotone relationship) points to Spearman. A U-shaped or inverted-U relationship can leave both Pearson and Spearman near 0: use regression with a curved term, for example a spline.

Roughly normal, for the CI and p-value

As a descriptive measure, r does not need normality. For the CI and p-value, both variables should be roughly normal: look at a histogram of each. Outliers matter more: one extreme patient can make or break r.

Independent observations

One pair of values per patient. Several measurements per patient need repeated-measures correlation or a mixed model.

The full range of values

The sample should cover the full range of values you want to draw conclusions about (see range restriction under common mistakes).

What to report

  • r with its 95% CI, and a scatter plot
  • The number of complete pairs actually analyzed
  • The exact p-value. It only tests whether r = 0, which is rarely the interesting question

Common mistakes

Correlation is not causation

A correlation shows that two measurements go together, not that one causes the other. A confounder such as age often drives both.

Correlation doesn't show agreement

Two methods can correlate perfectly and still disagree systematically. Use a Bland-Altman plot.

Plot the data before you report a correlation

A coefficient near 0 can hide a U-shaped relationship, and a single extreme patient can create or destroy a correlation. Look at the scatter plot.

Mind the range of your sample

A correlation depends on how spread out the sample is. Studying only hypertensive patients gives a lower coefficient for the same underlying relationship, so comparing correlations between studies with different populations is misleading.

Significant is not strong

With a large sample, a tiny correlation is significant. Report the coefficient with its 95% CI. The p-value only tests whether the coefficient is 0.

Don't pool different subgroups blindly

Pooling, for example men and women or two hospitals, can create or hide a correlation.

Don't correlate change with the baseline value

Regression to the mean builds in a negative correlation between the change and the starting value.

Repeated measurements aren't independent

Treating several measurements per patient as separate patients makes confidence intervals too narrow and p-values too small.

Alternatives

If your situation is…Use
Skewed or ordinal data, or a curve that keeps going one way (monotone)Spearman rank correlation
You want the size of the change per unit, need to adjust for other variables, or the relationship is U-shaped (regression with a curved term)Linear regression
Several measurements per patient (repeated-measures correlation, or a mixed model)Linear mixed model
You actually want to show that two methods give the same valuesBland-Altman plot and ICC

In your software

R
# R
plot(d$bmi, d$sbp)   # always plot first
res <- cor.test(d$bmi, d$sbp, method = "pearson")
res                  # the estimate is r, and the 95% CI is for r (Fisher z)
sum(complete.cases(d$bmi, d$sbp))   # pairs analyzed: incomplete pairs are dropped silently
SPSS
* Pearson Correlation is r, Sig. (2-tailed) is the p-value, and N is the number of pairs.
* NOSIG flags significant correlations with asterisks.
* The CI needs SPSS 27 or later. In older versions, calculate it by hand with Fisher z.
CORRELATIONS
  /VARIABLES=bmi sbp
  /PRINT=TWOTAIL NOSIG
  /CI CILEVEL(95).

Sources