Sarah Sarah - 1 year ago 55
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

y~x
and want to obtain the variance for each regression without computing it from hand from the Standard Error output given in the
summary.lm
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?

m<-lm(Alopecurus.geniculatus~Year)
> summary(m)

Call:
lm(formula = Alopecurus.geniculatus ~ Year)

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

Coefficients:
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