使用R中的modelsummary包将残差标准误差(回归的标准误差)添加到回归输出表

kadbb459  于 2024-01-03  发布在  其他
关注(0)|答案(1)|浏览(139)

我最近开始使用R中的modelsummary包。
默认情况下,modelsummary回归输出显示RMSE。我不能专门将Residual standard error行添加到回归表的拟合优度部分。
2023年12月13日使用reprex v2.0.2创建的可重现示例:

library(modelsummary)

reg1 <- lm(mpg ~ disp, data = mtcars)
summary(reg1)
#> 
#> Call:
#> lm(formula = mpg ~ disp, data = mtcars)
#> 
#> Residuals:
#>     Min      1Q  Median      3Q     Max 
#> -4.8922 -2.2022 -0.9631  1.6272  7.2305 
#> 
#> Coefficients:
#>              Estimate Std. Error t value Pr(>|t|)    
#> (Intercept) 29.599855   1.229720  24.070  < 2e-16 ***
#> disp        -0.041215   0.004712  -8.747 9.38e-10 ***
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#> 
#> Residual standard error: 3.251 on 30 degrees of freedom
#> Multiple R-squared:  0.7183, Adjusted R-squared:  0.709 
#> F-statistic: 76.51 on 1 and 30 DF,  p-value: 9.38e-10

sqrt(sum(reg1$residuals^2) / reg1$df.residual) # Residual standard error
#> [1] 3.251454
sqrt(sum(reg1$residuals^2) / nobs(reg1))       # RMSE
#> [1] 3.148207

modelsummary(reg1, output = "markdown")

字符串
| | (1) |
| --|--|
| (截取)|二万九千六百|
| | (1.230) |
| disp| -0.041 |
| | (0.005) |
| Num.Obs. | 32 |
| R2| 0.718|
| R2|零点七零九|
| AIC|一百七十点二|
| BIC|一百七十四点六|
| Log.Lik. | -82.105 |
| F|七六五一三|
| RMSE| 3.15|

x3naxklr

x3naxklr1#

查看Modelsummary文档,这应该可以工作:

library(modelsummary)

reg1 <- lm(mpg ~ disp, data = mtcars)

glance_custom.lm <- function(x, ...) {
  rse <- sqrt(sum(residuals(x) ^ 2) / x$df.residual)
  data.frame(RSE = format(rse, digits = 2))
}

modelsummary(reg1)

字符串
| | (1) |
| --|--|
| (截取)|二万九千六百|
| | (1.230) |
| disp| -0.041 |
| | (0.005) |
| Num.Obs. | 32 |
| R2| 0.718|
| R2|零点七零九|
| AIC|一百七十点二|
| BIC|一百七十四点六|
| Log.Lik. | -82.105 |
| F|七六五一三|
| RMSE| 3.15|
| RSE|第3.3节|
创建于2023-12-13使用reprex v2.0.2

相关问题