我可以使用 Stargazer 在单列中添加标准误差*和*置信区间吗?

问题描述

我非常喜欢 Stargazer,但在尝试将标准误差置信区间全部报告在一个表格中时遇到了一些问题。

将此简单回归视为可重现的示例:

set.seed(04152020)
x <- rnorm(100)
y <- 2*x + rnorm(100)
m1 <- lm(y~x)

我可以使用 ci 选项在两个单独的表中报告标准误差和置信区间,没有问题。

library(stargazer)
# standard errors
stargazer(m1,type = "text")
# confidence intervals
stargazer(m1,ci = FALSE,type = "text")

将它们放入单个表的解决方法是两次“报告”模型,但随后不必要地重复系数。例如下面的代码

stargazer(list(m1,m1),ci = c(FALSE,TRUE),type = "text")

产生:

==========================================================
                                  Dependent variable:     
                              ----------------------------
                                           y              
                                  (1)           (2)       
----------------------------------------------------------
x                              1.981***       1.981***    
                                (0.110)    (1.766,2.196) 
                                                          
Constant                       -0.218**       -0.218**    
                                (0.104)   (-0.421,-0.014)
                                                          
----------------------------------------------------------
Observations                      100           100       
R2                               0.769         0.769      
Adjusted R2                      0.766         0.766      
Residual Std. Error (df = 98)    1.032         1.032      
F Statistic (df = 1; 98)      325.893***     325.893***   
==========================================================
Note:                          *p<0.1; **p<0.05; ***p<0.01

有没有办法将标准误置信区间自动放入一个列中,就像处理 p 值一样?例如。这段代码

stargazer(m1,report = ('vcsp'),type = "text")

产生我想要的,但使用 p 值,并且允许它的选项的文档 - report - 似乎只允许选择 p 值,如 {{3} }.

===============================================
                        Dependent variable:    
                    ---------------------------
                                 y             
-----------------------------------------------
x                              1.981           
                              (0.110)          
                             p = 0.000         
                                               
Constant                      -0.218           
                              (0.104)          
                             p = 0.039         
                                               
-----------------------------------------------
Observations                    100            
R2                             0.769           
Adjusted R2                    0.766           
Residual Std. Error       1.032 (df = 98)      
F Statistic           325.893*** (df = 1; 98)  
===============================================
Note:               *p<0.1; **p<0.05; ***p<0.01

解决方法

我不知道如何在 stargazer 中执行此操作,但是您可以使用 modelsummary package 轻松实现所需的结果。 (免责声明:我是作者。)

library(modelsummary)

set.seed(04152020)
x <- rnorm(100)
y <- 2*x + rnorm(100)
m1 <- lm(y~x)

modelsummary(m1,statistic = c("std.error","conf.int"))

enter image description here

你也可以做这样疯狂的事情,as described on the website

modelsummary(models,gof_omit = ".*",statistic = c("conf.int","s.e. = {std.error}","t = {statistic}","p = {p.value}"))

enter image description here

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...