簡體   English   中英

R Stargazer 將 p 值放入一行

[英]R Stargazer Getting p-values into one line

stargazer(model1, model2, title = "Models", header=FALSE, 
          dep.var.labels.include = FALSE,
          column.labels = c("Count", "Percentage"),
          style = "ajs",
          report = "vcp*",
          single.row = TRUE)

這是我用 stargazer 創建回歸表的代碼。 但是,p 值仍然低於系數估計值。 如何讓 p 值顯示在系數估計值旁邊?

您可以用 p 值替換標准誤差。 將模型放入列表中,這樣您就可以使用lapply

model1 <- lm(mpg ~ hp, mtcars)
model2 <- lm(mpg ~ hp + cyl, mtcars)

model.lst <- list(model1, model2)

stargazer::stargazer(model.lst, title = "Models", header=FALSE, 
          dep.var.labels.include = FALSE,
          column.labels = c("Count", "Percentage"),
          style = "ajs",
          report = "vcs*",
          single.row = TRUE, type="text",
          se=lapply(model.lst, function(x) summary(x)$coef[,4]))
# Models
# =================================================================
#                             Count                Percentage      
#                               1                      2           
# -----------------------------------------------------------------
# hp                     -.068 (0.000)***         -.019 (.213)     
# cyl                                          -2.265 (0.000)***   
# Constant              30.099 (0.000)***      36.908 (0.000)***   
# Observations                  32                     32          
# R2                           .602                   .741         
# Adjusted R2                  .589                   .723         
# Residual Std. Error    3.863 (df = 30)        3.173 (df = 29)    
# F Statistic         45.460*** (df = 1; 30) 41.422*** (df = 2; 29)
# -----------------------------------------------------------------
# Notes:              *P < .05                                     
#                     **P < .01                                    
#                     ***P < .001       

請注意,這對於texreg也是可能的,它可能看起來有點干凈,並且 package 維護良好。

texreg::screenreg(model.lst, single.row=TRUE, 
          reorder.coef=c(2:3, 1),
          custom.model.names=c("Count", "Percentage"),
          override.se=lapply(model.lst, function(x) summary(x)$coef[,4]),
          override.pvalues=lapply(model.lst, function(x) summary(x)$coef[,4]),
          digits=3
       )
# ===================================================
#              Count               Percentage        
# ---------------------------------------------------
# hp           -0.068 (0.000) ***  -0.019 (0.213)    
# cyl                              -2.265 (0.000) ***
# (Intercept)  30.099 (0.000) ***  36.908 (0.000) ***
# ---------------------------------------------------
# R^2           0.602               0.741            
# Adj. R^2      0.589               0.723            
# Num. obs.    32                  32                
# ===================================================
# *** p < 0.001; ** p < 0.01; * p < 0.05

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM