Skip to main content
v2026.11,858 entries · CC-BY 4.0

How to Read a Regression Table: Every Column Explained

Read a regression table in order: model summary, ANOVA, then coefficients. Annotated example, SPSS/R/Python label map, and numbers to recompute.

Written and maintained by CASRAI Editorial Board

Last updated

A regression table is really three small tables stacked together: a model summary (how well the whole model fits), an ANOVA table (whether the model as a whole beats no model), and a coefficients table (what each predictor contributes). Read them in that order. This guide walks through all three using one published, annotated example, shows how the labels differ between SPSS, R and Python, and lets you recompute the key numbers yourself to catch misreads.

The example is the UCLA OARC annotated SPSS output for a regression of a science test score on four predictors (math, female, socst and read), with N = 200. All figures below come from that page (checked 2026-10-29): Regression Analysis | SPSS Annotated Output.

How do you read a regression table?

Work top to bottom. First check the model summary (R² and adjusted R²), then the ANOVA row (is the overall F significant?), then the coefficients one predictor at a time (size, direction, standard error, p-value or interval). The overall F test does not say which individual predictors matter; the coefficients table does.

Step 1: the model summary

R is the correlation between the observed and predicted values of the outcome. R Square is its square: in the example it is .489, meaning 48.9% of the variance in the outcome is predicted by the model. Adjusted R Square (.479) shrinks that figure for the number of predictors, giving what UCLA calls “a more honest value” to estimate of the population R². The Std. Error of the Estimate is the standard deviation of the error term, the square root of the residual mean square. For more on what R² can and cannot tell you, see how to interpret R-squared and adjusted R-squared vs R-squared.

Step 2: the ANOVA table

This table splits the total variation into a part the model explains (Regression) and a part it does not (Residual). In the example the Regression sum of squares is 9543.72074 on 4 degrees of freedom and the Residual sum of squares is 9963.77926 on 195, giving F = 46.69 with p = 0.0000. A significant F says the predictors, taken together, explain more than chance would. It does not address any individual predictor. See how to interpret the F-statistic.

Step 3: the coefficients table

Each row is one predictor. B is the unstandardized coefficient, measured in the variable’s natural units. In the example, math has B = .389: a one-point increase in math is associated with a .389-point increase in predicted science score, holding the other variables constant. The constant (12.325) is the predicted outcome when all predictors are zero. Beta (standardized) puts predictors on a common scale so effect sizes can be compared. The standard error is used to test whether the parameter differs from 0, and Sig. gives the two-tailed p-value. See what a regression coefficient is and how to interpret the t-statistic.

What does each column mean?

The same quantities carry different labels in different programs. SPSS labels follow the UCLA page; R labels follow the R documentation for summary.lm (stat.ethz.ch, checked 2026-10-29); the Python names are attributes listed in the statsmodels RegressionResults reference (checked 2026-10-29).

QuantitySPSS labelR labelstatsmodels attributeWhat to look for
CoefficientBEstimateparamsSize and sign, in the variable’s units
Its standard errorStd. ErrorStd. ErrorbseSmaller means a more precisely estimated coefficient
Test statistictt valuetvaluesB divided by its standard error
p-value (two-sided)Sig.Pr(>|t|)pvaluesCompare with your alpha, usually .05
Interval95% CIconfint(fit)conf_int()Contains zero means not significant at that alpha
Standardized coefficientBetanot in the summary tablenot in these attributesCompare effect sizes across predictors
Residual spreadStd. Error of the EstimatesigmaderivedTypical size of the error term
Variance explainedR SquareMultiple R-squaredrsquared1 minus residual SS over total SS
Penalized fitAdjusted R SquareAdjusted R-squaredrsquared_adjR² adjusted for the number of predictors
Overall testF and Sig. (ANOVA)F-statisticfvalue, f_pvalueNeeds both degrees of freedom to interpret

R’s coefficient matrix has four columns (estimate, standard error, t-statistic, two-sided p-value) and omits aliased coefficients. Its sigma is the square root of the estimated variance of the random error, and its R² is 1 minus the residual sum of squares over the sum of squared deviations of y from its mean (when the model has an intercept).

Formulas to recompute from the table

  • Mean square: MS = SS / df
  • Overall F = MS Regression / MS Residual
  • R² = SS Regression / SS Total
  • Adjusted R² = 1 − (1 − R²)(N − 1) / (N − k − 1), where k is the number of predictors
  • Std. Error of the Estimate = √(MS Residual)
  • t = B / standard error

Worked example: checking the numbers

Example 1: rebuild F and R² from the ANOVA table

MS Regression = 9543.72074 / 4 = 2385.93019. MS Residual = 9963.77926 / 195 = 51.0963039. F = 2385.93019 / 51.0963039 = 46.69, matching the printed value. SS Total = 9543.72074 + 9963.77926 = 19507.5, so R² = 9543.72074 / 19507.5 = .489. Both agree with the SPSS output.

Example 2: rebuild adjusted R² and the Std. Error of the Estimate

With N = 200, k = 4 and R² = .489: adjusted R² = 1 − (1 − .489)(199) / (200 − 4 − 1) = 1 − (.511 × 199 / 195) = 1 − .5215 = .4785, which rounds to .479 as printed. The Std. Error of the Estimate is √51.0963039 = 7.148 (rounded to three decimals). If a number in a table you are reading fails checks like these by more than rounding, suspect a misread column or a different model.

Rounding: the checks above use the SS values printed in the source and the rounded R² of .489; differences in the fourth decimal come from rounding, not error.

Common misreads

  • A significant F does not make every predictor significant. In the example F is highly significant, yet socst is not.
  • State the tail. The female coefficient has a two-tailed p of .051, not significant at .05, while the one-tailed value is .0255. The same row reads differently depending on the tail, so say which you used.
  • Intervals and p-values agree. A 95% interval that includes zero means the coefficient is not significant at alpha = .05.
  • Sig. = .000 is not zero. It means the p-value rounds to zero at three decimals.
  • B and Beta answer different questions. B is in natural units; Beta compares predictors on one scale.

How to report regression results

A regression write-up draws on the same three blocks: the model’s R² and adjusted R², the overall F with both degrees of freedom and its p-value (here F(4, 195) = 46.69), and for each predictor the coefficient, its standard error or interval, and the p-value, with the tail stated. Give the sample size. Exact formatting (decimal places, italics, table layout) is set by the style manual or journal you are writing for, so follow its current edition rather than a general rule.

How to read a regression table in R or Python

In R, summary() prints the coefficient matrix, the residual standard error, R², adjusted R² and the F-statistic with its degrees of freedom:

fit <- lm(science ~ math + female + socst + read, data = hsb2)
summary(fit)          # coefficients, sigma, R-squared, F
coef(summary(fit))    # estimate, std. error, t value, Pr(>|t|)
confint(fit)          # 95% confidence intervals

In Python, the statsmodels results object exposes the same quantities as attributes:

import statsmodels.formula.api as smf
fit = smf.ols("science ~ math + female + socst + read", data=hsb2).fit()
print(fit.summary())
fit.params; fit.bse; fit.tvalues; fit.pvalues
fit.conf_int(); fit.rsquared_adj; fit.fvalue; fit.f_pvalue

The data frame hsb2 is the dataset used in the UCLA example; substitute your own variables. For a worked calculation of a simple line by hand, see the linear regression calculator guide.

Frequently asked questions

How do I read a regression table?

Start with R² and adjusted R² for fit, check the overall F and its p-value, then read each coefficient with its standard error, p-value or interval. The sign of B gives direction; its size is in the variable’s units.

How do I report regression results?

Report R² (and adjusted R²), F with both degrees of freedom and p, and each coefficient with its standard error or interval and p-value, stating the tail and N. Match the exact layout to your style guide’s current edition.

What is the difference between R Square and Adjusted R Square?

Adjusted R Square penalizes extra predictors, estimating the population R² more honestly. In the example, .489 becomes .479.

Why is my F significant but my predictor is not?

The F test is about the model as a whole. It does not address the ability of any individual predictor, which the coefficients table tests row by row.

Sources

Follow CASRAI

Research-administration guidance, standards updates and independent tool reviews.

Ask CASRAI · free to try

Ask about How to Read a Regression Table: Every Column Explained

Ask your first 2 questions free below. Subscribers get 150 a day for $29 a month.

An AI assistant specialized in research administration. It cites the sources behind every answer, labels web answers and says when it can't answer.

Answers draw on CASRAI's guides and dictionary plus the federal and funder documents we index: Federal Register, Grants.gov, Regulations.gov and UKRI.

Works on this site and inside Claude, Cursor and the AI tools you already use.

Everything CASRAI publishes — this page, the dictionary, the guides and the news — stays free to read, with no account and no card.

Referenced across the research world

University of Cambridge logoColumbia University logoCrossref logoUniversity of Edinburgh logoHarvard University logoUniversity of Oxford logoPrinceton University logoStanford School of Medicine logoUniversity College London logoORCID logoUniversity of Cambridge logoColumbia University logoCrossref logoUniversity of Edinburgh logoHarvard University logoUniversity of Oxford logoPrinceton University logoStanford School of Medicine logoUniversity College London logoORCID logo
  • University of Cambridge logo
  • Columbia University logo
  • Crossref logo
  • University of Edinburgh logo
  • Harvard University logo
  • University of Oxford logo
  • Princeton University logo
  • Stanford School of Medicine logo
  • University College London logo
  • ORCID logo

View CASRAI adoption →