简单的问题真的!我正在运行y~x
的大量线性回归,并希望获得每个回归的方差,而无需从summary.lm
命令中给出的标准错误输出中手动计算。只是为了节省一点时间:-)。执行此命令的任何想法?或者我是否必须自己编写一个函数来完成它?
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
所以我得到一个标准误差输出,我希望得到一个方差输出而不用手动计算......
答案 0 :(得分:20)
我不确定你想要的变化。
如果你想要残差方差,那就是:(summary(m)$sigma)**2
。
如果您想要斜率的方差,那就是:(summary(m)$coefficients[2,2])**2
或vcov(m)[2,2]
。
答案 1 :(得分:10)
vcov(m)
给出系数的协方差矩阵 - 对角线上的方差。
答案 2 :(得分:7)
如果您指的是系数估计的标准误差,答案是
summary(m)$coef[,2]
如果你指的是估计的残差方差,那就是
summary(m)$sigma
输入names( summary(m) )
和names(m)
以获取您可以访问的其他信息。