Atlas
statminds
Bivariate Parametric (Product-Moment Model)The underlying model family class (e.g. GLM, linear model, categorical matrix, log-linear).Parametric ReferenceStatistical methods that assume a specific probability distribution family (typically normal).12-stage workflow

Pearson Correlation (r)

The definitive measure of Linear Association. Pearson's r quantifies the strength and direction of the straight-line relationship between two continuous variables.

Model familyBivariate Parametric (Product-Moment Model)
Hypothesistwo-tailed
AliasesPearson's r · Product-Moment Correlation · Bivariate Linear Association
G1
Linearity Audit
Determine the degree to which two variables move in lockstep along a straight-line trajectory.
G2
Relationship Magnitude
Quantify the effect size of an association before committing to multivariable regression.
G3
Shared Variance Discovery
Calculate the 'Coefficient of Determination' (r²) to find the common ground between metrics.
Visual Overview Dashboard
1

What is it?

Pearson Correlation Coefficient (r) measures the strength and direction of the linear relationship between two continuous variables.

2

When to use it

  • Two Variables: Both variables must be continuous (interval or ratio).
  • Linearity: The true relationship must be reasonably straight.
  • No Extremes: Outliers can severely distort the slope.
3

Core Idea

It measures how tightly the coordinates cluster around a straight line of best fit, scaled from -1.00 (perfect negative) to +1.00 (perfect positive):

A value of 0 indicates zero linear association. Values close to ±1 mean knowing the score of X allows highly accurate linear predictions of Y.

4

Hypotheses

H₀: ρ = 0 (No linear correlation exists in population)
Hₐ: ρ ≠ 0 (Linear correlation is significant)
5

How it works

  1. Compute deviation of each coordinate from its mean (dx, dy).
  2. Sum the cross-products of deviations (SS_xy).
  3. Divide by the geometric mean of individual sum of squares.
  4. Test significance using a t-statistic with df = N - 2.
6

Assumptions

📊 Bivariate Normality: Outcomes X and Y are jointly normal.
⚖️ Homoscedasticity: Variance of Y is constant across X.
👤 Independence: Individual pairs are independent.
7

Important Note

⚠️ Correlation is NOT causation! Two variables can be perfectly correlated due to a third confounding factor (spurious association) or coincidental trends.

8

Quick Example

SubjectStudy Hours (X)Test Score (Y)
S12.045
S28.085
S35.062
Interactive Sandbox

Pearson Correlation Live Laboratory

Slide the correlation coefficient to see how coordinate scatter shifts and drives the t-statistic.

Presets
Correlation Coefficient (r)0.50
Sample Size (N)20
Scatter Plot Space (Normalized coordinates)Y-Axis vs. X-Axis
Calculations Output
MetricValue
Sample Correlation (r)0.5000
Degrees of Freedom (df)18
t-statistic2.449
p-value0.0157
Statistical Verdict
✅ Reject H₀ (Significant)
The linear relationship between X and Y is statistically significant (r = 0.50, p = 0.0157).
The 12-Stage Precision Workflow
01Association Logic
Hypotheses
We test the Null (r = 0) against the discovery of a non-zero linear bond between our parameters.
02Bivariate Normality
Assumptions
Ensuring both variables follow the bell curve, a prerequisite for the Product-Moment math to maintain its integrity.
03Linearity Forensics
Diagnostics
Visualizing the scatterplot to ensure the relationship is a straight line, not a curve that would mislead the coefficient.
04focus
Correlating Baseline Pain with Disability Scores in FlowMotion participants to validate the 'Symptom-Impact' connection.
05Spearman Pivot
Alternatives
Knowing when to switch to Rank-based models if outliers or severe skewness threaten the 'mean-based' Pearson logic.
06Alpha Strike
Significance
Testing if the observed 'r' is a true population signal or a chance artifact of a small sample.
07The Squared Impact
Effect Size
Converting 'r' into 'r²' to reveal the actual percentage of variance shared between the two variables.
08Precision Target
Sample Size
Determining the N required to ensure that even moderate correlations reach the threshold of statistical discovery.
09The r-Statement
Reporting
Crafting the definitive association sentence: r(df) = .XX, p = .XXX, 95% CI [.XX, .XX].
10Calculation Logic
Software
Executing the correlation command across platforms, ensuring pairwise or listwise deletion of missing values.
11The Causality Trap
Common Mistakes
Avoiding the 'Post-Hoc Fallacy'—believing that association implies a causal direction without experimental control.
12Pearson's Legacy
References
Tracing the model's lineage back to Karl Pearson and the foundations of 20th-century biometric research.
01Hypothesis test logic

Hypotheses

Pragmatic null and alternative hypotheses defined in mathematical notation.

A hypothesis is a question sharpened to a point. Ambiguity is the enemy of inference.
Logic Core
Null · H₀

H₀: ρ = 0 (no linear correlation between variables)

Alternative · Hₐ

Hₐ: ρ ≠ 0 (linear correlation exists)

Why it matters two-tailed

Tests linear association between two continuous variables. Can be one-tailed if direction predicted a priori. Parametric test assuming bivariate normality. ρ (rho) represents population correlation; r is sample estimate.

02Model diagnostics

Assumptions

The core mathematical criteria needed to ensure that statistical testing remains unbiased and valid.

Build your analysis on rock, not sand. Verify the mathematical foundation before building the model.
Integrity Shield
6
Assumptions
4
Critical / High Severity
How to check
Quick
Create scatterplot of the two variables. Look for elliptical cloud pattern. If relationship curves (U-shaped, exponential, logarithmic), linearity is violated.
Rigorous
Scatterplot with regression line and loess smooth curve. If loess curve deviates substantially from straight line, relationship is non-linear. Check residual plots: residuals vs fitted should show random scatter around zero. Use Ramsey RESET test for linearity in R (lmtest package).
If violated
If non-linear: (1) Transform variables (log, sqrt, reciprocal, Box-Cox) to linearize relationship; (2) Use Spearman or Kendall correlation (robust to non-linearity); (3) Use polynomial regression to model curved relationship; (4) Use distance correlation to detect non-linear dependencies. Pearson r will underestimate association strength for non-linear monotonic relationships.
spearman correlationkendall tau b
How to check
Quick
Verify measurement scales: interval (temperature, IQ scores) or ratio (height, weight, income). Variables should have meaningful numeric differences, not just ordered categories.
Rigorous
Check data type and measurement properties. Interval scales have equal intervals but arbitrary zero (e.g., Celsius). Ratio scales have true zero (e.g., weight). Ensure variables aren't ordinal (Likert scales) or nominal (categories).
If violated
If ordinal data (Likert scales, rankings): use Spearman or Kendall correlation instead - these are rank-based and don't assume interval-level measurement. If one variable is dichotomous (binary): use point-biserial correlation (special case of Pearson). If both dichotomous: use phi coefficient. If nominal: use chi-square test of independence.
spearman correlationkendall tau bpoint biserial correlationphi coefficient
How to check
Quick
Check univariate normality for each variable separately using Q-Q plots and Shapiro-Wilk tests. While not sufficient (bivariate normal doesn't require univariate normal), severe departures suggest problems.
Rigorous
Create Q-Q plots for both variables. Check for bivariate outliers using Mahalanobis distance (values > χ²₀.₉₉₉,₂ are outliers). Scatterplot should show elliptical distribution. Use Mardia's test for multivariate normality (MVN package in R). Note: normality most important for hypothesis testing and CIs; r itself is computed the same way regardless.
If violated
If non-normal: (1) Use Spearman or Kendall correlation (distribution-free, robust to non-normality); (2) Transform variables (log, sqrt, Box-Cox) to approximate normality; (3) Use bootstrap confidence intervals for r instead of t-distribution CIs; (4) Increase sample size (n > 30-40) - CLT makes inference more robust. Note: r value itself is unbiased even with non-normality, but p-values and CIs may be inaccurate.
spearman correlationkendall tau b
How to check
Quick
Review data collection design: ensure each row represents unique independent observation. Check for repeated measures (same subject multiple times), clustering (students within schools), or time series autocorrelation.
Rigorous
Verify study design ensures independence. Check for duplicate IDs, clustering structure, temporal dependencies. For time series: test autocorrelation with Durbin-Watson test or ACF plots. For nested data: check ICC to assess clustering effects.
If violated
If repeated measures: use repeated measures correlation (rmcorr package) or multilevel models with random effects. If clustered data (students within schools): use multilevel correlation or cluster-robust standard errors. If time series: use cross-correlation function (CCF) accounting for autocorrelation. If matched pairs: standard Pearson valid for within-pair correlations if pairs independent.
How to check
Quick
Create scatterplot and boxplots for each variable. Look for points far from main cluster. Check if removing 1-2 points drastically changes r. Pearson correlation is sensitive to outliers.
Rigorous
Identify outliers using standardized residuals (|residual| > 3), Cook's distance (D > 4/n), or DFBETAS (influence on correlation). Compare r with and without outliers. If difference > 0.10, outliers are influential. Use leverage-residual plots to identify high-influence points.
If violated
If outliers present: (1) Investigate if outliers are data errors - correct if so; (2) Use Spearman or Kendall correlation (rank-based, robust to outliers); (3) Winsorize extreme values (cap at 95th/5th percentile); (4) Report r with and without outliers as sensitivity analysis; (5) Use robust correlation methods (biweight midcorrelation, percentage bend correlation). Never silently remove outliers without justification.
spearman correlationkendall tau b
How to check
Quick
Examine scatterplot: vertical spread should be roughly constant across x-axis range. If spread forms funnel shape (wider at one end), heteroscedasticity is present.
Rigorous
Plot residuals vs fitted values from linear regression: should show random scatter with constant spread. Use Breusch-Pagan or White test for heteroscedasticity. Check if variance of Y changes systematically as X increases.
If violated
Heteroscedasticity doesn't bias r but affects inference. Fixes: (1) Transform variables (log, sqrt) to stabilize variance; (2) Use weighted correlation; (3) Use robust/heteroscedasticity-consistent standard errors for CIs; (4) Use Spearman correlation if variance changes dramatically. For description, r is still valid; for inference, adjust standard errors.
03Residual Forensics

Diagnostics

Checking residual plots and indices to examine model deviations and ensure standard error integrity.

Trust, but verify. The outliers often hold more truth than the averages.
System Health
Essential checks
  1. Scatterplot with regression line to assess linearity
  2. Q-Q plots for both variables to check normality
  3. Examine 95% confidence interval for r
  4. Check for outliers using scatterplot and Cook's distance
  5. Report r² (coefficient of determination) to quantify variance explained
Recommended checks
  1. Residual plots (residuals vs fitted) to check linearity and homoscedasticity
  2. Compare with Spearman correlation as sensitivity check
  3. Bootstrap confidence intervals if normality violated
  4. Sensitivity analysis: report r with and without outliers
  5. Power analysis to ensure adequate sample size
  6. Mahalanobis distance to identify bivariate outliers
  7. Histograms or density plots for both variables
  8. Report both r and r² with interpretation
04Live Instances

Applied Minds

Review concrete study examples, data layout guidelines, and copy executable syntax scripts.

Theory is the map. Practice is the terrain. Simulation bridges the gap.
Applied Wisdom
Example 01

Height and Weight in Adults (Classic Linear Relationship)

Research question: Is there a linear association between height and weight in adults? Design: Cross-sectional sample of 100 adults (age 25-55, 50% male/female). Measure height (cm) and weight (kg). Hypothesis: Positive linear correlation - taller individuals weigh more on average. Expect moderate-to-strong correlation (r = 0.60-0.75 based on literature).

DesignCross-sectional observational
# Pearson Correlation: Height and Weight
# Classic example of linear association between continuous variables

library(tidyverse)
library(ggplot2)
library(car)         # For Q-Q plots and outlier diagnostics
library(psych)       # For describe and corr.test
library(DescTools)   # For CIs

# Simulate realistic data (or load: data <- read.csv("height_weight.csv"))
set.seed(2025)
n <- 100

# Height: normal distribution, mean=170cm (mix male/female), SD=10cm
height <- rnorm(n, mean=170, sd=10)

# Weight: linearly related to height with noise
# True relationship: weight ≈ -100 + 1.0*height + error
weight <- -100 + 1.0 * height + rnorm(n, mean=0, sd=5)

data <- data.frame(
  subject_id = 1:n,
  height = height,
  weight = weight
)

head(data, 10)
psych::describe(data[, c("height", "weight")])

# === STEP 1: Check Assumptions ===

cat("\n=== Assumption Checks ===\n")

# 1. Linearity: Scatterplot with regression line
ggplot(data, aes(x=height, y=weight)) +
  geom_point(alpha=0.6, size=2.5) +
  geom_smooth(method="lm", color="blue", se=TRUE, linewidth=1) +
  geom_smooth(method="loess", color="red", se=FALSE, linetype="dashed") +
  labs(title="Height vs Weight: Linearity Check",
       subtitle="Blue=linear fit, Red=loess smooth(should overlap if linear)",
       x="Height(cm)",
       y="Weight(kg)") +
  theme_classic(base_size=12)

cat("Check: Linear(blue) and loess(red) lines should be similar.\n")

# 2. Normality: Q-Q plots
par(mfrow=c(1, 2))
qqPlot(data$height, main="Q-Q Plot: Height", ylab="Height(cm)")
qqPlot(data$weight, main="Q-Q Plot: Weight", ylab="Weight(kg)")
par(mfrow=c(1, 1))

# Shapiro-Wilk test (formal test, but use with caution - sensitive to large n)
shapiro_height <- shapiro.test(data$height)
shapiro_weight <- shapiro.test(data$weight)
cat(sprintf("\nShapiro-Wilk normality tests:\n"))
cat(sprintf("  Height: W=%.3f, p=%.3f %s\n", 
            shapiro_height$statistic, shapiro_height$p.value,
            ifelse(shapiro_height$p.value > 0.05, "(normal)", "(non-normal)")))
cat(sprintf("  Weight: W=%.3f, p=%.3f %s\n", 
            shapiro_weight$statistic, shapiro_weight$p.value,
            ifelse(shapiro_weight$p.value > 0.05, "(normal)", "(non-normal)")))

# 3. Outliers: Cook's distance and influence
model <- lm(weight ~ height, data=data)
cooks_d <- cooks.distance(model)
outlier_threshold <- 4 / n
outliers <- which(cooks_d > outlier_threshold)

cat(sprintf("\nOutliers(Cook's D > %.3f): %d cases\n", 
            outlier_threshold, length(outliers)))
if (length(outliers) > 0) {
  cat("Outlier IDs:", outliers, "\n")
  print(data[outliers, ])
}

# Scatterplot with outliers highlighted
data$outlier <- cooks_d > outlier_threshold
ggplot(data, aes(x=height, y=weight, color=outlier)) +
  geom_point(size=3, alpha=0.7) +
  scale_color_manual(values=c("FALSE"="black", "TRUE"="red")) +
  labs(title="Outlier Detection: Cook's Distance",
       subtitle=sprintf("%d outliers(red points)", length(outliers))) +
  theme_classic()

# 4. Homoscedasticity: Residual plot
data$residuals <- residuals(model)
data$fitted <- fitted(model)

ggplot(data, aes(x=fitted, y=residuals)) +
  geom_point(alpha=0.6) +
  geom_hline(yintercept=0, color="red", linetype="dashed") +
  geom_smooth(se=FALSE, color="blue") +
  labs(title="Residuals vs Fitted: Homoscedasticity Check",
       subtitle="Should show random scatter around zero",
       x="Fitted Values",
       y="Residuals") +
  theme_classic()

# === STEP 2: Compute Pearson Correlation ===

cat("\n=== Pearson Correlation Results ===\n")

# Method 1: Base R cor.test
result <- cor.test(data$height, data$weight, 
                   method="pearson", 
                   alternative="two.sided")
print(result)

cat(sprintf("\nr = %.3f\n", result$estimate))
cat(sprintf("95%% CI: [%.3f, %.3f]\n", result$conf.int[1], result$conf.int[2]))
cat(sprintf("t(%d) = %.2f, p %s\n", 
            result$parameter,
            result$statistic, 
            ifelse(result$p.value < 0.001, "< .001", 
                   sprintf("= %.4f", result$p.value))))

# r-squared (proportion of variance explained)
r_squared <- result$estimate^2
cat(sprintf("\nr² = %.3f (%.1f%% of variance in weight explained by height)\n",
            r_squared, r_squared * 100))

# === STEP 3: Effect Size Interpretation ===

cat("\n=== Effect Size Guidelines(Cohen, 1988) ===\n")
cat("r = 0.10: small, r = 0.30: medium, r = 0.50: large\n\n")

r_val <- result$estimate
if (abs(r_val) < 0.10) {
  strength <- "negligible"
} else if (abs(r_val) < 0.30) {
  strength <- "small"
} else if (abs(r_val) < 0.50) {
  strength <- "medium"
} else {
  strength <- "large"
}

direction <- ifelse(r_val > 0, "positive", "negative")
cat(sprintf("Observed effect: %s(%s association)\n", strength, direction))

# === STEP 4: Bootstrap Confidence Interval (alternative to parametric CI) ===

cat("\n=== Bootstrap 95% CI(n=1000 resamples) ===\n")
set.seed(2025)
boot_r <- replicate(1000, {
  indices <- sample(1:n, n, replace=TRUE)
  cor(data$height[indices], data$weight[indices])
})

boot_ci <- quantile(boot_r, c(0.025, 0.975))
cat(sprintf("Bootstrap CI: [%.3f, %.3f]\n", boot_ci[1], boot_ci[2]))
cat("Compare with parametric CI - should be similar if normality holds.\n")

# === STEP 5: Compare with Spearman (robustness check) ===

spearman_result <- cor.test(data$height, data$weight, method="spearman")
cat(sprintf("\nSpearman's ρ = %.3f (p %s)\n",
            spearman_result$estimate,
            ifelse(spearman_result$p.value < 0.001, "< .001", 
                   sprintf("= %.4f", spearman_result$p.value))))
cat("Note: Pearson and Spearman should be similar if linearity holds.\n")
cat(sprintf("Difference: %.3f (large differences suggest non-linearity/outliers)\n",
            abs(r_val - spearman_result$estimate)))

# === STEP 6: Sensitivity Analysis - Remove Outliers ===

if (length(outliers) > 0) {
  cat("\n=== Sensitivity Analysis: Excluding Outliers ===\n")
  data_clean <- data[!data$outlier, ]
  r_clean <- cor.test(data_clean$height, data_clean$weight, method="pearson")$estimate
  cat(sprintf("r without outliers = %.3f (original r = %.3f)\n", r_clean, r_val))
  cat(sprintf("Difference = %.3f (>0.10 suggests outliers influential)\n", 
              abs(r_clean - r_val)))
} else {
  cat("\nNo outliers to remove - sensitivity analysis not needed.\n")
}

# === STEP 7: Visualize Correlation Strength ===

ggplot(data[!data$outlier, ], aes(x=height, y=weight)) +
  geom_point(alpha=0.5, size=2) +
  geom_smooth(method="lm", color="blue", fill="lightblue") +
  labs(title=sprintf("Height-Weight Correlation: r = %.2f", r_val),
       subtitle=sprintf("r² = %.2f: %.0f%% variance explained", 
                        r_squared, r_squared*100),
       x="Height(cm)",
       y="Weight(kg)") +
  annotate("text", x=min(data$height)+5, y=max(data$weight)-5,
           label=sprintf("r = %.2f***\n95%% CI [%.2f, %.2f]",
                        r_val, result$conf.int[1], result$conf.int[2]),
           hjust=0, size=5) +
  theme_classic(base_size=12)

# === APA-Style Reporting ===

cat("\n=== APA-Style Report ===\n")
cat(sprintf(
"A Pearson product-moment correlation was computed to assess the linear 
relationship between height and weight in a sample of %d adults. Preliminary 
analyses showed the relationship was linear with both variables approximately 
normally distributed(Shapiro-Wilk p > .05), and no influential outliers were 
detected(Cook's D < %.2f). There was a %s, significant positive correlation 
between height and weight, r(%d) = %.2f, 95%% CI [%.2f, %.2f], p < .001. 
Height explained %.0f%% of the variance in weight(r² = %.2f). These findings 
indicate that taller individuals tend to weigh more, consistent with 
anthropometric research. The large effect size suggests height is a strong 
predictor of weight in this population.\n",
n, 4/n, strength, result$parameter, r_val, 
result$conf.int[1], result$conf.int[2],
r_squared * 100, r_squared
))
Interpretation Blueprint

r = 0.72, p < .001, 95% CI [0.62, 0.80] (large positive correlation). Height explains 52% of variance in weight (r² = 0.52). Strong linear relationship: each 1 SD increase in height (10 cm) associated with 0.72 SD increase in weight (≈5 kg). Assumptions met: linear relationship (loess matches linear fit), bivariate normality (Q-Q plots linear), no outliers (Cook's D < 0.04), homoscedasticity (residuals random). Pearson (r=0.72) and Spearman (ρ=0.71) similar, confirming linearity. Effect size interpretation: r=0.72 is large (Cohen benchmark: 0.50), indicating height is strong predictor of weight. Bootstrap CI [0.61, 0.79] overlaps parametric CI, validating normality assumption.

05Tactical Pivots

Alternatives

Structured fallback pathways for choosing alternative tests when normality or slopes requirements fail.

When the path is blocked, pivot. Rigor is not rigidity; it is the intelligent adaptation to reality.
Adaptive Strategy
Measurement Precision Ladder Ideal · Ratio / Interval
Ratio
Maintain Pearson logic. Provides maximum precision for linear association.
Peak Signal
Interval
Ideal for Primary Scales. Ensure no extreme outliers are pulling the regression line.
Standard Precision
Ordinal
Pivot to Spearman's Rho to protect against non-linear mean distortion and ordinal gaps.
Rank Compression
Nominal
Abandon Correlation. Use Chi-Square or Cramer's V to model categorical association.
Information Suicide
Temporal Trajectory Audit Static Bivariate Association
Static
Single point audit.
Stay with Pearson r. The gold standard for linear bond discovery.
Autocorrelated
Sequential data.
Pivot to Cross-Correlation Function (CCF) to account for temporal lags.
Aggregated
Subjects within groups.
Pivot to Intraclass Correlation (ICC) to account for clustering.
Adaptive Technical Safeguards · adaptive safeguards
linearity violated
  • Spearman Correlation — Captures non-linear but monotonic relationships.
  • Polynomial Mapping — Model the 'Curved Truth' using squared terms.
normality violated
  • Bootstrap Confidence Intervals — Generate robust p-values using 1,000 resamples.
  • Spearman's Rho — The robust rank-based alternative.
influential outliers
  • Winsorization — Cap extreme values at the 5th/95th percentiles.
  • Robust Correlation — Use biweight midcorrelation to neutralize noise.
06Adjusted Comparisons

Post-hoc

Group mean comparisons and correction controls (e.g. Tukey HSD, Bonferroni) to protect against Family-Wise Error Rates.

The omnibus test opens the door; post-hoc analysis explores the room.
Forensic Detail
Adjusted Comparisons
  • Compare Pearson r with Spearman rs (robustness to non-normality)
  • Bootstrap confidence intervals for r
  • Examine influence of outliers (with/without extreme values)
  • Compare correlations across subgroups using Fisher's z-transformation
  • Test correlation difference from a specific value (not just zero)
Interpretation Guidelines

Pearson correlation is a bivariate test. Traditional post-hoc tests are not applicable.

07Standardized scale impact

Effect Size

Understanding effect sizes (e.g., Cohen's d, Partial Eta-Squared) and clinical impact benchmarks.

Significance is noise. Magnitude is the signal. Measure the impact, not just the probability.
Impact Magnitude

Cohen (1988): 0.10=small, 0.30=medium, 0.50=large. Direction: positive (+) or negative (-)

Proportion of variance in Y explained by X. r²=0.25 means 25% variance explained. Always report alongside r

Effect size depends on context. In psychology, r=0.30 often considered meaningful. In physics, r=0.90+ expected. Consider both statistical and practical significance

Recommended Metric: Pearson r with 95% CI and r². Report bootstrap CI if normality violated
Small
0.2
Medium
0.5
Large
0.8
0.50
Pearson r with 95% CI and r². Report bootstrap CI if normality violated
Recommended Measure
3
Available Metrics
ReportUse Pearson r with 95% CI and r². Report bootstrap CI if normality violated to represent clinical impact magnitude.
08Statistical Power

Sample Size

Guidelines for minimum sample requirements and power analysis parameters.

An underpowered study is an ethical failure. Respect the data by collecting enough of it.
Power Protocol
Floor Requirements

The 'Stability Threshold': A minimum of 25 participants is required to ensure the 'r' coefficient isn't hijacked by a single bivariate outlier.

Effect SizeParametersRequired n
Small Effectr = .10 (Small)n ≈ 782
Medium Effectr = .30 (Medium)n ≈ 82
Large Effectr = .50 (Large)n ≈ 26
Key considerations

The 'Shared Variance' Audit: Remember that r = .30 only explains 9% of the variance (r²). If you need to explain at least 25% of the story, you must seek a large effect (r = .50) or increase your N to capture more subtle signals.

G*Power StrategyBenchmark: Exact → Correlation: Bivariate normal model. Parameters: r magnitude, α = .05, Power = .80. The 'Precision Buffer': Small samples yield wide confidence intervals, making 'Significance' a lucky accident rather than a scientific fact.
09APA narrative blueprint

Reporting

How to compile statistical results into publication prose matching APA and journal style guides.

Data does not speak for itself. It requires a translator. Be clear, be precise, be honest.
Narrative Arc
Worked APA paragraph example
A Pearson product-moment correlation was conducted to assess the linear relationship between height and weight in 100 adults. Preliminary analyses showed the relationship was linear (scatterplot with overlapping linear and loess fits) with both variables approximately normally distributed (height: Shapiro-Wilk W=0.99, p=.82; weight: W=0.98, p=.43), and no influential outliers detected (Cook's D < 0.04). There was a significant positive correlation between height and weight, r(98) = 0.72, 95% CI [0.62, 0.80], p < .001. Height explained 52% of the variance in weight (r² = 0.52). This large effect size (Cohen, 1988) indicates that taller individuals tend to weigh substantially more. Spearman's rank correlation (ρ = 0.71) was similar to Pearson's, confirming robustness of the finding. These results are consistent with anthropometric research demonstrating strong height-weight associations in adult populations.
Reusable template

A Pearson product-moment correlation was conducted to assess the linear relationship between Variable X and Variable Y in sample description. Preliminary analyses showed the relationship was linear (scatterplot inspection) with both variables approximately normally distributed (mention Q-Q plots or Shapiro-Wilk results), and no/X influential outliers detected (Cook's D < threshold or removed). There was a significant/non-significant direction: positive/negative correlation between X and Y, r(df) = value, 95% CI [lower, upper], p = or < p-value. Variable X explained r²×100% of the variance in Variable Y. Interpretation in context with effect size label: small/medium/large per Cohen, 1988.

Essential statistics to report
  • Pearson r value
  • 95% confidence interval
  • t-statistic and degrees of freedom (df = n-2)
  • p-value
  • r² (coefficient of determination)
  • Sample size
  • Statement about assumption checks (linearity, normality, outliers)
10Exhibit Builder

Manuscript Lab

Copy standard summary tables and forensic reporting grids to outline analysis details.

Table 1: Pearson Correlation Matrix for Physiological Markers
Variable1. BMI2. Systolic BP3. CholesterolM (SD)
1. BMI28.4 (5.2)
2. Systolic BP.45** [.33, .56]134.2 (15.1)
3. Cholesterol.28** [.14, .41].38** [.25, .50]195.8 (35.4)
Note. N = 200. ** p < .01, * p < .05. Confidence intervals (95%) in brackets.
r = .45 (BMI-BP)A moderate-to-strong positive link. As BMI rises, blood pressure consistently increases (r² = 20% variance shared).
CI [.33, .56]Narrow confidence interval confirms this link is stable and reproducible, not a fluke of sampling.
Header glossary

The Connection Strength. Ranges from -1 to +1. 0 indicates no linear relationship.

The Precision Window. The range of plausible values for the true population correlation.

Significance Flag. Indicates the probability of observing this correlation by chance is less than 1%.

11Algorithmic Logic

Command Center

Syntax libraries and function parameters for executing calculations in stats packages.

Code is the modern laboratory. Clean execution ensures reproducible discovery.
Execution Engine
# 1. Execute Correlation Matrix with CIs
correlation::correlation(df, p_adjust = 'bonferroni')

# 2. Visualize Linear Trends
ggplot(df, aes(x=bmi, y=sys_bp)) + 
  geom_point() + 
  geom_smooth(method='lm')
Library stack
R
correlationggplot2
Python
pingouinseaborn
Elite Forensic Strike

Don't just report r. Report r² to reveal the 'Variance Explained'—the true measure of predictive power.

# Linearity and Outlier Audit
performance::check_model(lm(sys_bp ~ bmi, data=df))

# Bayesian Correlation Strength
bayestestR::correlationBF(df$bmi, df$sys_bp)
12The Over-adjustment Trap

Common Mistakes

Analytical caveats and corrections to maintain modeling integrity.

Wisdom is learning from the failures of others. Anticipate the error before it occurs.
Defensive Logic
Why it's wrong
Correlation only measures association, not causal direction. r(height, weight) = 0.72 does NOT mean height causes weight or vice versa. Both could be caused by third variable (genetics, age). Experimental manipulation required to infer causation.
The correction
Always state 'correlation' or 'association', never 'effect' or 'impact' unless experimental design supports causality. Use language like 'associated with', 'related to', 'predicts' (statistical prediction, not causal). Consider lurking variables and use causal inference methods (RCTs, regression with controls, DAGs) if causation is research question.
Why it's wrong
Pearson r measures LINEAR association only. For non-linear monotonic relationships (exponential, logarithmic), Pearson underestimates association strength. U-shaped or inverted-U relationships yield r ≈ 0 despite strong relationship.
The correction
Always create scatterplot with loess smooth curve BEFORE computing Pearson r. If relationship curves, transform variables (log, sqrt, polynomial) or use Spearman/Kendall (captures monotonic not just linear). For non-monotonic relationships, use polynomial regression or GAMs, not correlation.
Why it's wrong
Pearson assumes interval/ratio scales with equal intervals. Likert scales (1=strongly disagree to 5=strongly agree) are ordinal - distance between 1-2 may not equal 2-3. Pearson treats them as equal intervals, which may be incorrect. Pearson also assumes continuous distributions; Likert has discrete categories.
The correction
For ordinal data (Likert scales, rankings), use Spearman or Kendall correlation - these are rank-based and don't assume equal intervals. Only use Pearson if Likert scale has ≥7 points and treats as quasi-continuous (controversial; some argue never appropriate for ordinal data).
Why it's wrong
Pearson r is highly sensitive to outliers because it uses raw values, not ranks. Single extreme value can inflate or deflate r substantially. Example: removing 1 outlier changed r from 0.58 to 0.71 (difference = 0.13) in Example 2.
The correction
Always check Cook's distance or DFBETAS to identify influential outliers. Plot scatterplot to visualize. Compute r with and without outliers as sensitivity analysis. If difference > 0.10, outliers are influential - report both or use Spearman (robust to outliers). Never silently remove outliers without theoretical justification.
Why it's wrong
Point estimate r alone doesn't convey precision. r = 0.30 with CI [0.10, 0.50] is imprecise and crosses small/medium boundary. Wide CIs indicate need for larger sample. CIs essential for assessing practical significance and comparing across studies.
The correction
Always report 95% CI for r using cor.test() in R or pingouin in Python. If normality violated, use bootstrap CI. Interpret CI width: narrow (<0.20 width) = precise estimate; wide (>0.30 width) = imprecise, need larger n. Use CI to assess if effect size is practically meaningful.
Why it's wrong
r and r² have different interpretations. r = 0.70 seems large, but r² = 0.49 means only 49% variance explained - 51% due to other factors. Reporting r without r² can exaggerate practical significance. Media often misreports correlations by ignoring r².
The correction
Always report BOTH r and r². Interpret r for direction and magnitude (Cohen benchmarks); interpret r² for variance explained. r² = 0.25 (r=0.50) means 75% of variance UNexplained. For practical decisions, r² often more informative than r. Example: height explains 52% of weight variance (r²=0.52) - other factors (diet, muscle mass) explain remaining 48%.
Why it's wrong
Null result (p > .05) could be due to low statistical power (small n), non-linear relationship, or truly no association. With small samples (n=20), even r=0.30 may be non-significant (power ~30%). Absence of evidence is not evidence of absence.
The correction
Always report effect size (r) and CI even if p > .05. Small non-significant r with narrow CI suggests true null; moderate r with wide CI suggests insufficient power. Conduct power analysis - if power < 0.80, study underpowered. Check scatterplot for non-linear relationships Pearson missed. Consider equivalence testing (TOST) to test if r is practically equivalent to zero.
Why it's wrong
Standard Pearson assumes independent observations. Time series has autocorrelation (adjacent time points correlated). Repeated measures (same subject multiple times) violates independence. Standard r will produce inflated Type I error rates and incorrect p-values.
The correction
For time series: use cross-correlation function (CCF) that accounts for autocorrelation. For repeated measures: use repeated measures correlation (rmcorr package in R) or multilevel models with random effects. For clustered data: use cluster-robust standard errors or multilevel correlation. Test independence with Durbin-Watson (time series) or ICC (clustered data).
13Academic Lineage

References

Scholarly lineage and citation keys grounding the statistical framework.

We stand on the shoulders of giants. Honor the source of the method.
Academic Lineage
[1]
Pearson, K. (1896). Mathematical contributions to the theory of evolution. III. Regression, heredity, and panmixia. Philosophical Transactions of the Royal Society of London A, 187, 253-318.
Original paper introducing the product-moment correlation coefficient. Foundational work in correlation and regression analysis.
doi: 10.1098/rsta.1896.0007
[2]
Cohen, J. (1988). Statistical Power Analysis for the Behavioral Sciences (2nd ed.). Lawrence Erlbaum Associates.
Standard reference for effect size interpretation. Proposes small (r=0.10), medium (r=0.30), large (r=0.50) benchmarks widely used in psychology and social sciences.
[3]
Fisher, R. A. (1915). Frequency distribution of the values of the correlation coefficient in samples from an indefinitely large population. Biometrika, 10(4), 507-521.
Development of Fisher's z-transformation for correlation inference. Essential for constructing confidence intervals and hypothesis tests for r.
doi: 10.2307/2331838
[4]
Havlicek, L. L., & Peterson, N. L. (1977). Effect of the violation of assumptions upon significance levels of the Pearson r. Psychological Bulletin, 84(2), 373-377.
Monte Carlo study examining robustness of Pearson r to violations of normality and homoscedasticity. Shows Pearson relatively robust to moderate violations with n ≥ 30.
doi: 10.1037/0033-2909.84.2.373
[5]
Bakdash, J. Z., & Marusich, L. R. (2017). Repeated measures correlation. Frontiers in Psychology, 8, 456.
Introduces repeated measures correlation (rmcorr) for assessing associations in repeated measures designs. Alternative to standard Pearson when independence violated.
doi: 10.3389/fpsyg.2017.00456
[6]
Wilcox, R. R. (2017). Introduction to Robust Estimation and Hypothesis Testing (4th ed.). Academic Press.
Comprehensive treatment of robust alternatives to Pearson correlation. Covers percentage bend correlation, winsorized correlation, and bootstrap methods for non-normal data.
Correlation is a mirror, not a hammer. It shows you the relationship but does not build the causal bridge. Interpret the reflection with extreme scientific caution.
The Interpretive Rigor Directive
statminds · PearsonMind reference · v2.2 · updated 2026-01-1715 of 15 sections