Memra

Reading summary(lm) for inference

◈ 7 cards

Std. Error = s/√SS_xx, t value = Estimate/Std. Error, Pr(>|t|) is the two-sided p (halve it for a one-sided claim in the predicted direction), the stars code it, RSE is s on n − 2 df, R² is the fit — and the F line is the same test as the slope’s t.

The same printout, second reading

Module 4 printed summary(lm(score ~ income)) and told you to read three things as description. Now every column has a hand formula behind it. The Coefficients block:

            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 544.1767    10.5049   51.80 3.47e-09 ***
income        2.0659     0.1432   14.42 6.96e-06 ***

Read the income row left to right.

  • Estimate 2.0659, the slope (L4.3).
  • Std. Error 0.1432 (L13.2).
  • t value 14.42 — Estimate ÷ Std. Error, the test of on df.
  • Pr(>|t|) 6.96e-06 — the two-sided p-value, . The hand table could only say ; R says how far below.
  • \\\* — the significance code: three stars for , two for , one for , a dot for . Decoration for the p-value, never a substitute for stating .

The (Intercept) row tests the same way; its . Nobody asked, but R answers.

The lines below

Residual standard error: 9.642 on 6 degrees of freedom and (L13.1). Multiple R-squared: 0.972 — the fit (L4.5); Adjusted R-squared: 0.9673 penalises for the number of predictors and matters only with several. F-statistic: 208.1 on 1 and 6 DF, p-value: 6.956e-06 — the overall test that all slopes are zero. With one predictor that is the slope test again: , and the p-value is the same . Read the row and leave the F line.

One-sided from a two-sided p

A question says "test whether higher income is associated with a higher score" — . R printed the two-sided p. If the estimate lies in the direction of (here : yes), the one-sided p is half: . If the estimate pointed the wrong way, the one-sided p would be and would stand. Never double it, and never use it as printed for a one-sided claim without saying why it is conservative.

Two more calls the paper prints

> confint(fit)
                 2.5 %     97.5 %
(Intercept) 518.472046 569.881284
income        1.715456   2.416387

The income row is L13.3’s interval to six decimals — — and confirms it excludes 0.

> predict(fit, data.frame(income = 75), interval = "prediction")
       fit      lwr      upr
1 699.1208 674.0191 724.2226

L13.5’s prediction interval. With interval = "confidence" the same call prints 690.5496 707.692, the mean-response interval; the word after interval = tells you which question was asked, and a printout without it is the point prediction alone.

The reading checklist

From a summary(lm()) printout: the row named for the predictor is the slope; Std. Error is ; t value is the ratio; Pr(>|t|) is two-sided — halve it for a one-sided claim in the estimate’s direction; the RSE line gives and , so is recoverable; R² is the fit; the F line duplicates the slope test. Write the four steps yourself — the printout has done the arithmetic, not the conclusion.

NORMAL ~/memra/learn/afm-113/reading-summary-lm-for-inference utf-8 LF