在R语言中如何存储回归模型运算得到的标准误?
R 提取回归模型标准误的方法
你可以通过以下两种和提取系数逻辑类似的方式存储指定变量的标准误:
- 方法1:从回归摘要的系数矩阵直接提取,写法和你现有代码适配度最高
对应代码:se1 <- summary(regression)$coefficients["x", "Std. Error"]
原理:summary(regression)生成的回归结果中,$coefficients是包含系数、标准误、t值、p值的四列矩阵,按行名(变量名)和列名定位即可拿到对应标准误。 - 方法2:通过方差协方差矩阵计算获取,适合不需要生成完整回归摘要的场景
对应代码:se1 <- sqrt(diag(vcov(regression)))["x"]
原理:vcov(regression)会返回回归系数的方差协方差矩阵,对角线元素是各系数的方差,开平方后即可得到对应标准误。
完整可运行示例
# 构建示例回归模型 regression <- lm(mpg ~ wt + hp, data = mtcars) # 提取wt的回归系数(和你现有写法一致) beta_wt <- coefficients(regression)["wt"] # 提取wt的标准误(方法1) se_wt_1 <- summary(regression)$coefficients["wt", "Std. Error"] # 提取wt的标准误(方法2) se_wt_2 <- sqrt(diag(vcov(regression)))["wt"]
如果是批量跑多组回归的场景,以上两种写法都可以直接嵌入循环逻辑使用,无需修改结构。
内容的提问来源于stack exchange,提问作者ngooooo19
相关产品推荐
相关产品推荐

