[英]Assigning different coefficient names and goodness of fit statistics to different panels in modelsummary
我正在尝试使用 R 中的模型摘要 package(感谢创建者)制作一个表格,该表格具有不同面板的不同拟合优度统计数据和名称。 到目前为止,我一直无法做到这一点。 我在 Quarto 工作。
这是一个例子(不要介意回归的有效性)。 我想在第一个面板而不是第二个面板中对调整后的 R 进行平方。 我还希望将系数重命名为系数映射,但这似乎没有发生。
非常感谢您的帮助。
library(modelsummary)
gm<-tibble::tribble(~raw,~clean,~fmt,
"nobs","N",0,
"adj.r.squared","Adj. $R^2$",2)
cm <- c("qsec" = "OLS",
"fit_qsec" = "TSLS")
panels <- list(
"OLS" = list(
"(I)" = feols(mpg ~ 1 + qsec, data = mtcars),
"(II)" = feols(hp ~ 1 + qsec, data = mtcars)
),
"TSLS" = list(
"(I)" = feols(mpg ~ 1| qsec~drat,data = mtcars),
"(II)" = feols(hp ~ 1| qsec~drat,data = mtcars)
)
)
modelsummary(
panels,
shape = "rbind",
cof_map = cm,
gof_map = gm)
谢谢你的问题。
首先,您的示例中有一个错字: cof_map
。
其次,没有内置的方法可以在不同的面板中使用不同的 arguments,例如gof_map
。 但是,也许您可以通过使用glance_custom()
扩展机制来解决问题。 为此,您需要 github 的开发版本:
remotes::install_github("vincentarelbundock/modelsummary")
完全重新启动R
,然后定义一个glance_custom.fixest()
,其中包括条件检查以在满足某些条件时删除adj.r.squared
值。 在这里,我们检查这是否是一个工具变量 model(底部面板):
library(fixest)
library(modelsummary)
cm <- c(
"qsec" = "OLS",
"fit_qsec" = "TSLS")
panels <- list(
"OLS" = list(
"(I)" = feols(mpg ~ 1 + qsec, data = mtcars),
"(II)" = feols(hp ~ 1 + qsec, data = mtcars)
),
"TSLS" = list(
"(I)" = feols(mpg ~ 1 | qsec ~ drat, data = mtcars),
"(II)" = feols(hp ~ 1 | qsec ~ drat, data = mtcars)
)
)
glance_custom.fixest <- function(x, ...) {
if (isTRUE(x$iv)) {
out <- data.frame("adj.r.squared" = NA)
} else {
out <- NULL
}
return(out)
}
modelsummary(
panels,
shape = "rbind",
coef_map = cm,
gof_map = c("nobs", "adj.r.squared"))
(我) | (二) | |
---|---|---|
最小二乘法 | 1.412 | -27.174 |
(0.559) | (4.946) | |
Num.Obs。 | 32 | 32 |
R2 调整。 | 0.148 | 0.485 |
台积电 | 25.190 | -188.788 |
(47.992) | (328.033) | |
Num.Obs。 | 32 | 32 |
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.