You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Zelig包的tobit模型稳健标准误回归结果中显示显著性星号?

给Zelig稳健Tobit回归结果添加显著性星号

要实现像AER包tobit命令那样在系数旁显示显著性星号,你可以通过自定义处理系数表或者用stargazer包美化输出两种方式解决,下面是具体步骤:

方法一:手动处理系数表添加星号

运行完你的Zelig模型后,提取系数汇总表,根据p值规则添加星号列:

library(Zelig)

# 你的原有代码
dat <- read.csv("http://www.omori.e.u-tokyo.ac.jp/STATA/Sample/select.csv")
rb.tobit <- zelig(HOUR~CHILD+AGE+EDU+WAGE+HINC, below=0, above=Inf, model="tobit", data=dat, robust=T)

# 提取系数汇总表
coef_summary <- coef(summary(rb.tobit))

# 定义显著性星号生成函数
add_signif_stars <- function(p_values) {
  sapply(p_values, function(p) {
    if (p < 0.001) {
      "***"
    } else if (p < 0.01) {
      "**"
    } else if (p < 0.05) {
      "*"
    } else {
      ""
    }
  })
}

# 添加星号列到系数表
coef_table_with_stars <- cbind(coef_summary, 
                               ` ` = add_signif_stars(coef_summary[, "Pr(>|z|)"]))

# 打印带星号的结果
print(coef_table_with_stars, digits = 3)

运行后你会看到系数旁带有对应显著性星号的输出,和AER包的tobit结果风格一致。

方法二:用stargazer包生成带星号的美观表格

stargazer是R中常用的回归结果美化工具,支持自动添加显著性星号,步骤如下:

# 安装并加载包(首次使用需要安装)
install.packages("stargazer")
library(stargazer)

# 你的原有模型
dat <- read.csv("http://www.omori.e.u-tokyo.ac.jp/STATA/Sample/select.csv")
rb.tobit <- zelig(HOUR~CHILD+AGE+EDU+WAGE+HINC, below=0, above=Inf, model="tobit", data=dat, robust=T)

# 生成带星号的文本表格
stargazer(rb.tobit$result, 
          type = "text", 
          star.cutoffs = c(0.05, 0.01, 0.001), # 星号对应的p值阈值
          digits = 3,
          title = "Robust Tobit Regression Results with Significance Stars")

这个命令会输出格式规整的文本表格,不仅带有显著性星号,还能自动整理模型统计量,非常适合用于报告输出。

说明

Zelig包的默认summary()输出没有内置显著性星号功能,所以需要通过上述两种方式手动补充。两种方法中,stargazer更适合生成用于报告的美观表格,而手动处理则更灵活,方便自定义输出格式。

内容的提问来源于stack exchange,提问作者Yukio Takagi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 06:43:43