Written and maintained by CASRAI Editorial Board
Last updated
On this page: what the diagonal and the mirrored upper/lower triangle of a correlation matrix actually mean, how to read the significance-flag convention without over-trusting it, how a large sample can turn a practically meaningless correlation into a “statistically significant” one, and how to use a correlation matrix to spot multicollinearity risk before it undermines a regression.
A correlation matrix is the table most papers use to report how every pair of variables in a study relates to every other pair, all at once. It looks simple — rows and columns of numbers between −1 and +1 — but three habits separate a careful reading from a naive one: knowing which half of the table is actually new information, knowing that a significance flag is not the same thing as a meaningful effect, and knowing when a cluster of moderate correlations among your predictors is a warning sign rather than background noise.
The diagonal and the symmetry convention
Every correlation matrix follows the same structure, and recognizing it takes the table from intimidating to fast to scan:
- The diagonal is always 1.00 (or blank/dashed in some journals). Every variable correlates perfectly with itself, so the diagonal carries no information — it is not a result, it is a structural artifact of the table. Some published tables omit the diagonal entirely for exactly this reason.
- The matrix is symmetric across the diagonal. The correlation of variable A with variable B is mathematically identical to the correlation of B with A — Pearson’s r, Spearman’s rho, and Kendall’s tau are all defined without regard to order. That means the cell in row 2/column 5 and the cell in row 5/column 2 report the exact same number.
- Because of that symmetry, most tables only print half the matrix — usually the lower triangle, sometimes the upper — to avoid stating every result twice. If you see a triangular table with blank cells above (or below) the diagonal, nothing is missing; you are looking at the complete result, just without the redundant mirror image.
- Some published tables use the two triangles for two different things — for example Pearson’s r in the lower triangle and the corresponding p-value or Spearman’s rho in the upper triangle. Always check the table note before assuming both halves show the same statistic; this is a common source of misreading a matrix at a glance.
Reading the significance-flag convention
Most correlation matrices flag statistically significant cells with asterisks — typically * for p < .05, ** for p < .01, and *** for p < .001, with the exact thresholds stated in a table note. This convention is useful for scanning a large table quickly, but it answers a narrower question than it looks like it answers: a flag tells you the observed correlation is unlikely to be exactly zero in the population, given the sample size. It does not tell you the relationship is strong, and it does not tell you it matters practically. Those are two separate reads, covered next.
If you are producing the matrix yourself rather than reading someone else’s, CASRAI’s guide to running a Pearson correlation in SPSS covers the procedure that generates this exact table, including the pairwise-vs-listwise deletion choice that changes what N applies to each cell — worth checking when a matrix reports one overall N but was actually computed on varying, smaller per-pair samples due to missing data.
A strong correlation vs. a large-sample-significant-but-trivial one
The single most common misreading of a correlation matrix is treating every asterisk as evidence of a meaningful relationship. Significance testing is directly sensitive to sample size: with enough observations, even a correlation too small to matter for any practical purpose will cross the p < .05 threshold, because the standard error of r shrinks as N grows. The magnitude of r, not its p-value, is what tells you how much of one variable’s variance is shared with the other — specifically, r² is the proportion of shared variance. An r of 0.15 means roughly 2% shared variance, however many stars sit next to it.
The simulation below makes this concrete. It uses a seeded random-number generator to create three variables from a known underlying structure — X and Y share a strong common factor (built so their population correlation is roughly 0.77), and Z is built from only a small slice of X plus independent noise (population correlation with X roughly 0.10, deliberately weak). This is simulated, illustrative data, not a real study — run at two sample sizes to show the same weak underlying relationship behaving very differently depending on N.
| Study | N | r(X,Y) — strong pair | p | r(X,Z) — weak pair | p |
|---|---|---|---|---|---|
| Small study | 25 | 0.735 | 2.85 × 10−5 | 0.376 | 0.064 (not significant) |
| Large study | 900 | 0.769 | < 10−100 | 0.146 | 1.05 × 10−5 (significant) |
Look at the X–Z pair across the two rows. In the small study (N=25), r=0.376 does not reach significance at all — there isn’t enough data to distinguish it confidently from zero. In the large study (N=900), a much weaker correlation, r=0.146, is significant at p < .0001. But r=0.146 corresponds to r² ≈ 0.021 — roughly 2% shared variance between X and Z, regardless of sample size. The large study didn’t find a stronger relationship; it found the same weak one with enough precision to rule out zero. Compare that against the X–Y pair, which is both significant and substantively strong in both studies (r≈0.75, r²≈0.56 — well over half the variance shared) — that is what a genuinely strong relationship looks like in the same table format, at any sample size.
The practical rule: when scanning a matrix, read the magnitude of r first and the significance flag second. A large, well-powered study will routinely flag small correlations as significant; a small study can fail to flag even a moderately large one. Neither flag, by itself, tells you whether the relationship is worth acting on — that judgment needs the effect size, ideally alongside a confidence interval on r, not the asterisk alone. CASRAI’s guide to what a p-value actually measures covers this same significance-vs-magnitude distinction in more general form; the correlation vs. causation comparison covers the separate, equally common misreading of treating any correlation — strong or weak — as evidence of a causal mechanism.
Spotting multicollinearity risk before it reaches a regression
If the matrix you are reading includes the predictor variables you plan to enter into the same multiple regression model, scan the off-diagonal cells among just those predictors before you build the model. A cluster of moderate-to-strong correlations among predictors (rough rule of thumb: several pairs above roughly 0.7–0.8, though there’s no single universal cutoff) is an early warning sign of multicollinearity — it means those predictors are carrying overlapping information, which inflates the standard errors of their individual regression coefficients even though it doesn’t bias the coefficients themselves or hurt the model’s overall predictive fit.
A correlation matrix is a useful first screen for this, but it is not a complete one — it only catches pairwise relationships. A predictor can be a near-perfect linear combination of several other predictors together while showing only modest correlation with any single one of them, a pattern the matrix cannot reveal on its own. For that, and for the full diagnostic workflow once the matrix has flagged a pair worth investigating, see CASRAI’s dedicated guide to multicollinearity and the variance inflation factor (VIF), which covers detection and what to do about it in depth — this page deliberately doesn’t repeat that material.
Multiple comparisons across a large matrix
A matrix built from k variables contains k(k−1)/2 unique correlations — a 10-variable matrix already has 45 distinct pairwise tests running at once. If every cell is being evaluated against the conventional p < .05 threshold independently, roughly 1 in 20 will cross that line by chance alone even if every true population correlation is exactly zero. This is the same multiple-comparisons problem that affects any large family of simultaneous significance tests, and it is easy to miss in a correlation matrix specifically because the table format doesn’t visually signal how many tests it actually contains.
Reading practice that follows from this: treat an isolated significant cell in a large, otherwise-unremarkable matrix with more skepticism than the same p-value would deserve as a single, pre-specified test — especially in an exploratory table generated by correlating everything with everything rather than testing a specific pre-registered hypothesis. Papers that take multiplicity seriously will either apply a correction (Bonferroni and its less conservative alternatives are the most common) or state plainly that the matrix is exploratory and any single cell shouldn’t be over-interpreted without replication.
A quick reading checklist
- Ignore the diagonal — it is always 1.00 and carries no information.
- Check whether the table shows one triangle or both, and whether both triangles report the same statistic (read the table note).
- Read the magnitude of r first; treat the significance flag as a separate, narrower question about sample size, not a proxy for importance.
- For any correlation you plan to build on, ask what r² actually implies about shared variance — a “significant” r of 0.10–0.15 still means roughly 1–2% shared variance.
- If the matrix covers your planned regression predictors, scan for clusters of moderate-to-strong inter-predictor correlations as an early multicollinearity signal.
- In a large matrix, weigh an isolated significant cell against how many total comparisons the table is running, not just its own p-value.
Frequently asked questions
What does a negative number in a correlation matrix mean?
A negative r means the two variables move in opposite directions — as one increases, the other tends to decrease. The sign is independent of strength: −0.75 describes a stronger relationship than +0.20, just in the opposite direction. Read the sign and magnitude together, not the sign alone.
Why is a correlation matrix always symmetric?
Because the correlation coefficients in standard use — Pearson’s r, Spearman’s rho, Kendall’s tau — are defined the same way regardless of which variable is treated as “first.” Correlating A with B and B with A involves the identical calculation, so the result is identical, which is why so many published tables only bother printing one triangle.
What counts as a “strong” correlation in a matrix?
There’s no single universal cutoff, and thresholds are field-dependent, but a widely used rough guide treats |r| around 0.10 as small, 0.30 as moderate, and 0.50 or above as large. Always weigh that against r² (the shared-variance figure) and the field’s own conventions rather than applying one fixed rule everywhere.
Does a statistically significant correlation always matter practically?
No. Statistical significance mainly reflects whether the sample was large enough to distinguish the observed r confidently from zero — it does not measure how much the two variables actually share. A significant r of 0.10 in a very large sample can be practically negligible; see the worked comparison above.
Can a correlation matrix by itself tell me if my regression will have multicollinearity problems?
It’s a useful first screen for pairwise relationships among your predictors, but not a complete diagnostic — a predictor can be strongly predictable from a combination of several others while showing only modest pairwise correlations with any one of them. Run VIF once you’ve built the model; see the dedicated guide linked above.
Simulated example data generated with a seeded pseudo-random generator for illustration; not drawn from a real study.








