R 中 rdrobust 包的回归输出表

发布于 2025-01-11 18:18:17 字数 453 浏览 0 评论 0原文

我对 R 比较陌生,目前正在尝试根据我的稳健结果制作回归表。这是我的目标的一个示例:

在此处输入图像描述

我知道 rdrobust modelsummary() 不支持,我必须使用 tidy.rdrobustglance.rdrobust 才能使其适用。所以我的问题是如何在这两个命令(tidy,glance)中指定参数以使用 modelsummary 包获得所需的输出? 如图所示,我希望将结果变量/模型作为行,将三种方法的系数(带*)、SE、z 值和置信区间作为列。

正如我所说,我对 R 比较陌生,而且对一般编程语言也完全陌生。因此,这个问题可能不够具体,并且没有进行任何编码试验。也许无论如何有人可以帮助我。

多谢!

I am relatively new to R and currently trying to make a regression table from my rdrobust results. This is an example of what i am aiming for:

enter image description here

I know that rdrobust is not supported by modelsummary() and that I have to use tidy.rdrobust and glance.rdrobust to make it applicable. So my question is how to specify the parameters in these two commands (tidy,glance) to get the desired output with the modelsummary package?
As shown in the picture I want to have the outcome variables/models as rows and the coefficients (with*),SE,z value and confidence intervals for the three rd methods as columns.

As I said I am relatively new to R and and completely new to programming language in general. Therefore this question is probably not specific enough and provided without any coding trials. Maybe someone can help me anyway.

Thanks a lot!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

行至春深 2025-01-18 18:18:17

即使它不能满足您的所有要求,您也可以利用 modelsummary 的功能进行并排模型:https://vincentarelbundock.github.io/modelsummary/articles/modelsummary.html

library(rdrobust)
library(modelsummary)

tidy.rdrobust <- function(model, ...) {
  ret <- data.frame(
    term = row.names(model$coef),
    std.error = model$se[, 1],
    p.value = model$pv[, 1]
  )
  row.names(ret) <- NULL
  ret
}

glance.rdrobust <- function(model, ...) {
  ret <- data.frame(
    Kernel = model$kernel,
    Bandwidth = model$bwselect
  )
  ret
}

如果我们用虚拟实现数据,它将显示以下内容:

x1 <- runif(1000, -1, 1)
x2 <- runif(1000, -1, 1)
y1 <- 5 + 3 * x1 + 2 * (x1 >= 0) + rnorm(1000)
y2 <- 5 + 3 * x2 + 2 * (x2 >= 0) + rnorm(1000)

fit1 <- rdrobust(y1, x1)
fit2 <- rdrobust(y2, x2)
models <- list(fit1, fit2)
modelsummary(models, statistic = "p.value")
模型 1模型 2
系数XX
标准误差XX

Even though it does not satisfy all your requirements, you could leverage the function of modelsummaryfor side-by-side-models: https://vincentarelbundock.github.io/modelsummary/articles/modelsummary.html

library(rdrobust)
library(modelsummary)

tidy.rdrobust <- function(model, ...) {
  ret <- data.frame(
    term = row.names(model$coef),
    std.error = model$se[, 1],
    p.value = model$pv[, 1]
  )
  row.names(ret) <- NULL
  ret
}

glance.rdrobust <- function(model, ...) {
  ret <- data.frame(
    Kernel = model$kernel,
    Bandwidth = model$bwselect
  )
  ret
}

If we implement with dummy data, it will show the following:

x1 <- runif(1000, -1, 1)
x2 <- runif(1000, -1, 1)
y1 <- 5 + 3 * x1 + 2 * (x1 >= 0) + rnorm(1000)
y2 <- 5 + 3 * x2 + 2 * (x2 >= 0) + rnorm(1000)

fit1 <- rdrobust(y1, x1)
fit2 <- rdrobust(y2, x2)
models <- list(fit1, fit2)
modelsummary(models, statistic = "p.value")
Model 1Model 2
CoefficientXX
Standart ErrorXX
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文