r语言 - 在观星者表中包括标准化系数



我有一系列线性模型,我想报告每个模型的标准化系数。但是,当我在观星器中打印模型时,看起来观星者会自动打印标准化系数的显著性星星,就好像它们是非标准化系数一样。 您可以在下面看到差异是如何出现的。

根据非标准化值打印显著性星在统计上是错误的吗?在观星者中是如何做到这一点的?谢谢!

#load libraries
library(stargazer)
library(lm.beta)
#fake data
var1<-rnorm(100, mean=10, sd=5)
var2<-rnorm(100, mean=5, sd=2)
var3<-rnorm(100, mean=2, sd=3)
var4<-rnorm(100, mean=5, sd=1)
df<-data.frame(var1, var2, var3, var4)
#model with unstandardized betas
model1<-lm(var1~var2+var3+var4, data=df)
#Standardized betas
model1.beta<-lm.beta(model1)
#print
stargazer(model1, model1.beta, type='text')

Stargazer不会自动知道它应该在第二个模型中查找标准化系数。 lm.beta只需将标准化系数添加到lm.object。所以它仍然是一个lm.object,所以它像往常一样(从model1.beta$coefficients中提取系数。使用 coef = 参数指定要使用的特定系数:coef = list(model1$coefficients, model1.beta$standardized.coefficients)

> stargazer(model1, model1.beta, 
            coef = list(model1$coefficients, 
            model1.beta$standardized.coefficients),
            type='text')
==========================================================
                                  Dependent variable:     
                              ----------------------------
                                          var1            
                                   (1)            (2)     
----------------------------------------------------------
var2                              0.135          0.048    
                                 (0.296)        (0.296)   
var3                              -0.088        -0.044    
                                 (0.205)        (0.205)   
var4                              -0.190        -0.030    
                                 (0.667)        (0.667)   
Constant                         10.195**        0.000    
                                 (4.082)        (4.082)   
----------------------------------------------------------
Observations                       100            100     
R2                                0.006          0.006    
Adjusted R2                       -0.025        -0.025    
Residual Std. Error (df = 96)     5.748          5.748    
F Statistic (df = 3; 96)          0.205          0.205    
==========================================================
Note:                          *p<0.1; **p<0.05; ***p<0.01
非常感谢

paqmo的回答。我只想补充一点,为了获得标准化解决方案的正确 p 值,您需要添加另一行详细说明要使用的 p 值:


    stargazer(model1, model1.beta, 
    coef = list(model1$coefficients, 
    model1.beta$standardized.coefficients),
    p = list (coef(summary(model1))[,4], coef(summary(model1.beta))[,5]),
    type='text')

此外,一般来说,观星者有时不适用于较长的模型名称,并给出警告Error in if (is.na(s)) { : the condition has length > 1

因此,我建议保持模型名称简短(特别是如果您希望Stargazer显示其中的一些(。

相关内容

  • 没有找到相关文章

最新更新