Home › Research Methodology › Pearson Correlation Coefficient (Pearson’s r)
Below, we explain Pearson’s r in plain language and calculate it live on real data from ScholarsColab, where it behaves in a surprising and very instructive way.
Reading Pearson’s r at a glance
| Value of r | Usual description | What it looks like |
|---|---|---|
| 0.7 to 1.0 | Strong positive | Points lie close to a rising line |
| 0.4 to 0.7 | Moderate positive | A clear rising trend with scatter |
| 0.1 to 0.4 | Weak positive | A slight rising tendency |
| Around 0 | No linear relationship | No straight-line pattern (a curved one may still exist) |
| Negative values | Same strengths, opposite direction | One goes up as the other goes down |
Worked example: do researchers who publish more have a higher h-index?
We work through a full correlation analysis, notebook-style, on real researcher data. Every result is calculated live, and you can run the same code yourself.
The data: one row per ScholarsColab mentor with at least five dated papers, giving their discipline, career length, number of papers, h-index and total citations. The file is anonymised: no names or identifiers, rows are shuffled and citation totals are rounded.
Step 1: Load the data
import numpy as np
import pandas as pd
from datetime import date
# The ScholarsColab Research Methods Index (mentors level): anonymised, updated daily
DATA = "https://scholarscolab.in/wp-json/scholarscolab/v1/research-methods-data?level=mentors"
mentors = pd.read_csv(DATA, comment="#") # lines starting with # hold the citation
def p_text(p):
return "< 0.001" if p < 0.001 else f"= {p:.3f}"
print(mentors.shape)
mentors.head()(891, 6)
| discipline | first_year | career_years | papers | h_index | total_citations | |
|---|---|---|---|---|---|---|
| 0 | Engineering & computer science | 2014 | 13 | 81 | 6 | 80 |
| 1 | Medicine & health | 2009 | 18 | 45 | 4 | 60 |
| 2 | Engineering & computer science | 2015 | 12 | 97 | 5 | 50 |
| 3 | Engineering & computer science | 1998 | 29 | 100 | 100 | 29550 |
| 4 | Medicine & health | 2020 | 7 | 37 | 25 | 2510 |
The h-index is a common measure of research impact: an h-index of 10 means a researcher has 10 papers with at least 10 citations each.
Step 2: Plot the two variables first
Always start with a scatter plot. It shows whether the relationship looks like a straight line, and whether a few extreme points might dominate.
import matplotlib.pyplot as plt
from scipy import stats
fit = stats.linregress(mentors["papers"], mentors["h_index"])
fig, ax = plt.subplots(figsize=(8, 4.5))
ax.scatter(mentors["papers"], mentors["h_index"], s=12, alpha=0.4)
x = np.linspace(0, 300, 50)
ax.plot(x, fit.intercept + fit.slope * x, color="green", linewidth=3)
ax.set_xlim(0, 300)
ax.set_xlabel("Number of papers")
ax.set_ylabel("h-index")
plt.show()Step 3: Calculate Pearson’s r and Spearman’s rho
r, p = stats.pearsonr(mentors["papers"], mentors["h_index"])
rho, p_s = stats.spearmanr(mentors["papers"], mentors["h_index"])
print(f"Pearson r = {r:.2f}, p {p_text(p)}")
print(f"Spearman rho = {rho:.2f}, p {p_text(p_s)}")Pearson r = 0.62, p < 0.001 Spearman rho = 0.82, p < 0.001
Step 4: See how extreme values and curves affect Pearson
r_log, _ = stats.pearsonr(np.log(mentors["papers"]), np.log(mentors["h_index"] + 1))
top = mentors["papers"] > mentors["papers"].quantile(0.99)
r_trim, _ = stats.pearsonr(mentors.loc[~top, "papers"], mentors.loc[~top, "h_index"])
print(f"Pearson r on log scales: {r_log:.2f}")
print(f"Pearson r without the top 1% by papers: {r_trim:.2f}")Pearson r on log scales: 0.79 Pearson r without the top 1% by papers: 0.69
When to use Pearson or Spearman
| Pearson’s r | Spearman’s rho | |
|---|---|---|
| Measures | Straight-line relationships | Any steadily rising or falling relationship |
| Uses | The actual values | The ranks of the values |
| Best for | Roughly normal data without extreme values | Skewed data, outliers, ordinal scales |
| Example | Height and weight | Citations, income, Likert ratings |
How to calculate and report Pearson’s r
- Plot the two variables in a scatter plot and look for a straight-line pattern and extreme values.
- Check the assumptions: both variables numeric, roughly normal, and a linear relationship.
- Calculate r in SPSS, R, Python or Excel (CORREL function).
- Test significance to get a p-value, and report a confidence interval if you can.
- Report it fully, for example: “There was a moderate positive correlation between sleep and test scores, r(98) = 0.45, p < 0.001.”
Common mistakes reviewers point out
- Using Pearson on heavily skewed data, as our raw citation example shows.
- Not plotting the data, so curved relationships or outliers go unnoticed.
- Reading correlation as causation. See our guide to correlation vs causation.
- Reporting r without the sample size or p-value.
Frequently asked questions
What does Pearson’s r measure?
It measures the strength and direction of the straight-line relationship between two numeric variables, on a scale from −1 to +1.
What is a good Pearson correlation?
It depends on the field. As a rough guide, 0.1 is weak, 0.3 to 0.5 is moderate and above 0.5 is strong, but small correlations can still matter in large or complex systems.
What is the difference between Pearson and Spearman correlation?
Pearson uses the actual values and measures straight-line relationships. Spearman uses ranks, so it suits skewed data, outliers and relationships that rise steadily without being straight.
Can Pearson’s r be misleading?
Yes. A few extreme values can make it much smaller or larger than the real pattern, and it misses curved relationships. Always plot the data first.
How do I calculate Pearson’s r in Excel?
Use the CORREL function, for example =CORREL(A2:A101, B2:B101), with one variable in each column.
Use this data in your own work
ScholarsColab (2026). ScholarsColab Research Methods Index [Data set]. Vidhilekha Soft Solutions Pvt Ltd. Retrieved 15 October 2026, from https://scholarscolab.in/research-methodology/. Licensed under CC BY 4.0.Download the data (CSV) →Need help applying this to your research?
Discuss your research problem with a PhD mentor, hand the whole project to a research project manager, or post your project and let matched experts apply.
Mentors whose published work uses this approach:

MUNNA KHANJamia Millia Islamia (Central University)
Michael I. C. NwoguguN/a
Saurabh MehtaVidyalankar Institute of Technology, Mumbai
Dr Shrenik OstwalConsultant