Sarah Sarah - 3 years ago 71
R Question

How do I print the variance of an lm in R without computing from the Standard Error by hand?

Simple question really! I am running lots of linear regressions of

and want to obtain the variance for each regression without computing it from hand from the Standard Error output given in the
command. Just to save a bit of time :-). Any ideas of the command to do this? Or will I have to write a function to do it myself?

> summary(m)

lm(formula = Alopecurus.geniculatus ~ Year)

Min 1Q Median 3Q Max
-19.374 -8.667 -2.094 9.601 21.832

Estimate Std. Error t value Pr(>|t|)
(Intercept) 700.3921 302.2936 2.317 0.0275 *
Year -0.2757 0.1530 -1.802 0.0817 .
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 11.45 on 30 degrees of freedom
(15 observations deleted due to missingness)
Multiple R-squared: 0.09762, Adjusted R-squared: 0.06754
F-statistic: 3.246 on 1 and 30 DF, p-value: 0.08168

So I get a Standard Error output and I was hoping to get a Variance output without calculating it by hand...

Answer Source

I'm not sure what you want the variance of.

If you want the residual variance, it's: (summary(m)$sigma)**2.

If you want the variance of your slope, it's: (summary(m)$coefficients[2,2])**2, or vcov(m)[2,2].

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download