如何在R的modelsummary包回归表中添加Residual standard error
在modelsummary中添加残差标准误(Residual Standard Error)行
要在modelsummary的回归表拟合优度部分添加残差标准误行,有两种实用方法:
方法一:手动计算后添加单行(适合单个模型)
library(modelsummary) reg1 <- lm(mpg ~ disp, data = mtcars) # 直接调用summary结果中的残差标准误,无需手动计算 rse <- summary(reg1)$sigma # 构造要插入的行数据 new_row <- data.frame( " " = "Residual Std. Error", "(1)" = round(rse, 3), check.names = FALSE ) # 生成表格并插入新行 modelsummary(reg1, output = "markdown", add_rows = new_row)
生成的表格会在原有拟合优度部分末尾新增残差标准误行:
| (1) | |
|---|---|
| (Intercept) | 29.600 |
| (1.230) | |
| disp | -0.041 |
| (0.005) | |
| Num.Obs. | 32 |
| R2 | 0.718 |
| R2 Adj. | 0.709 |
| AIC | 170.2 |
| BIC | 174.6 |
| Log.Lik. | -82.105 |
| F | 76.513 |
| RMSE | 3.15 |
| Residual Std. Error | 3.251 |
如果不需要默认的RMSE行,添加gof_omit = "RMSE"参数即可移除。
方法二:自定义统计量函数(适合多模型批量处理)
library(modelsummary) # 定义自定义统计量函数,整合需要的拟合优度指标 custom_stats <- function(model) { s <- summary(model) return(list( "Residual Std. Error" = s$sigma, "RMSE" = sqrt(mean(residuals(model)^2)) # 根据需求保留或删除该行 )) } # 拟合多个示例模型 reg1 <- lm(mpg ~ disp, data = mtcars) reg2 <- lm(mpg ~ disp + hp, data = mtcars) # 使用自定义统计量生成表格,可移除默认指标 modelsummary(list(reg1, reg2), output = "markdown", gof_omit = "RMSE", # 移除默认RMSE行 statistic = custom_stats)
该方法会自动为所有模型生成残差标准误行,适配多模型场景。
内容的提问来源于stack exchange,提问作者Zeki Akyol
相关产品推荐
相关产品推荐

