【问题标题】:Unprecise p-values in StargazerStargazer 中不精确的 p 值
【发布时间】:2014-04-22 11:04:46
【问题描述】:

我想要在观星器中回归输出的意义与“正常输出”相同的星星。

我产生数据

library("stargazer"); library("lmtest"); library("sandwich")
set.seed(1234)
df <- data.frame(y=1001:1100)
df$x <- c(1:70,-100:-71) + rnorm(100, 0, 74.8)
model <- lm(log(y) ~ x, data=df)

并获得一些模型估计,其中 x 的系数的 p 值为 0.1023

coeftest(model, vcov = vcovHC(model, type="HC3"))

我想在 LaTeX 中得到这些结果。基于相同的函数,我计算异方差一致的标准估计,并让观星者使用它们。

stderr_HC3_model <- sqrt(diag(vcovHC(model, type = "HC3")))
stargazer(model, se=list(stderr_HC3_model))

当 alpha=10% 时,stargazer 输出在表示显着性的系数处有一个星号。我希望 stargazer 给出与 coeftest 相同的值。 (由于与 Stata 的可比性,其中 reg L_y x, vce(hc3) 给出了准确的 coeftest 结果。)

我玩过 stargazer 选项 p.auto、t.auto,但没有帮助。当我执行“stargazer”时,我无法查看底层代码,因为在其他情况下是可能的。怎么办?


理查兹的回答帮助了我。我指出了我用来给出多个回归的步骤(比如说 ols_a 和 ols_b)。

ses <- list(coeftest(ols_a, vcov = vcovHC(ols_a, type="HC3"))[,2],
        coeftest(ols_b, vcov = vcovHC(ols_b, type="HC3"))[,2])
pvals <- list(coeftest(ols_a, vcov = vcovHC(ols_a, type="HC3"))[,4],
          coeftest(ols_b, vcov = vcovHC(ols_b, type="HC3"))[,4])
stargazer(ols_a, ols_b, type="text", p=pvals, se=ses)

【问题讨论】:

  • 获取源代码,试试stargazer:::.stargazer.wrap

标签: r stargazer


【解决方案1】:

您需要提供与您的coeftest 关联的 p 值。来自手册页。

p 将替换默认 p 值的数值向量列表 每个模型。由元素名称匹配。这些将形成基础 关于重要星的决定

以下应该可以工作。

test <- coeftest(model, vcov = vcovHC(model, type="HC3"))
ses <- test[, 2]
pvals <- test[, 4]
stargazer(model, type="text", p=pvals, se=ses)

这提供了以下内容。

===============================================
                        Dependent variable:    
                    ---------------------------
                              log(y)           
-----------------------------------------------
x                            -0.00005          


Constant                     6.956***          
                              (0.003)          

-----------------------------------------------
Observations                    100            
R2                             0.026           
Adjusted R2                    0.016           
Residual Std. Error       0.027 (df = 98)      
F Statistic             2.620 (df = 1; 98)     
===============================================
Note:               *p<0.1; **p<0.05; ***p<0.01

【讨论】:

    【解决方案2】:

    这可能是一个小问题,但理查德的回答实际上并不完全正确 - 他的 stargazer 输出没有报告任何标准错误,也没有报告变量 x 的潜在意义星。

    此外,当在观星手册coefficientssept 中仅报告单个模型时,必须在列表中提供值。否则 stargazer 将报告一个空列表。

    (略微)更正的示例:

    test <- coeftest(model, vcov = vcovHC(model, type="HC3"))
    ses <- list(test[, 2])
    pvals <- list(test[, 4])
    stargazer(model, type="text", p=pvals, se=ses)
    

    输出:

    =======================================================================
                                             Dependent variable:           
                                  -----------------------------------------
                                            Daily added investors          
                                                  negative                 
                                                  binomial                 
    -----------------------------------------------------------------------
    log(lag_raised_amount + 1)                    -0.466***                
                                                   (0.124)                 
    
    lag_target1                                   -0.661***                
                                                   (0.134)                 
    
    Constant                                      -3.480**                 
                                                   (1.290)                 
    
    -----------------------------------------------------------------------
    Observations                                    6,513                  
    Log Likelihood                                 -8,834                
    theta                                     1.840*** (0.081)             
    Akaike Inf. Crit.                              17,924                
    =======================================================================
    Note:                         + p<0.1; * p<0.05; ** p<0.01; *** p<0.001
    

    【讨论】:

      【解决方案3】:

      se 参数存在固有的危险。

      使用此方法时,用户应谨慎使用参数t.autop.auto,这两个参数都默认为TRUE。我认为将它们都设置为FALSE 并手动提供tp 值会很谨慎。

      如果不这样做,您可能会获得与显示的 p 值不同步的重要性星。 (我怀疑 stargazer 会简单地重用 se,它现在与默认值不同,并使用此输入重新计算显示的星星;这自然会产生意想不到的结果。)

      另见:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-07
        • 2020-09-09
        • 1970-01-01
        相关资源
        最近更新 更多