繁体   English   中英

如何在不手动计算标准误差的情况下打印 R 中 lm 的方差?

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

真的很简单的问题! 我正在运行大量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 

所以我得到一个标准错误输出,我希望在不手动计算的情况下得到一个方差输出......

我不确定你想要什么方差。

如果您想要残差方差, (summary(m)$sigma)**2(summary(m)$sigma)**2

如果您想要斜率的方差, (summary(m)$coefficients[2,2])**2(summary(m)$coefficients[2,2])**2vcov(m)[2,2]

vcov(m)

给出系数的协方差矩阵——对角线上的方差。

如果你指的是系数估计的标准误差,答案是

summary(m)$coef[,2] 

如果你指的是估计的残差方差,那就是

summary(m)$sigma

键入names( summary(m) )names(m)以获取您可以访问的其他信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM