2015-07-16 16 views
5

olduğunu MWE:Multicolumn çıktı knitr kullanılacak İşte

library(pscl) 

data("bioChemists", package = "pscl") 

fm_pois <- glm(art ~ ., data = bioChemists, family = poisson) 
fm_qpois <- glm(art ~ ., data = bioChemists, family = quasipoisson) 
fm_nb <- glm.nb(art ~ ., data = bioChemists) 
fm_zinb <- zeroinfl(art ~ . | 1, data = bioChemists, dist = "negbin") 

library(stargazer) 
stargazer(
    fm_pois, fm_qpois, fm_nb, fm_zinb 
    , type = "text" 
) 

============================================================================= 
             Dependent variable:      
        ----------------------------------------------------------- 
               art        
        Poisson glm: quasipoisson  negative  zero-inflated 
           link = log   binomial  count data 
        (1)   (2)    (3)    (4)  
----------------------------------------------------------------------------- 
femWomen   -0.225***  -0.225***  -0.216***  -0.216*** 
        (0.055)  (0.074)   (0.073)   (0.073) 

marMarried   0.155**  0.155*   0.150*   0.150*  
        (0.061)  (0.083)   (0.082)   (0.082) 

kid5    -0.185***  -0.185***  -0.176***  -0.176*** 
        (0.040)  (0.054)   (0.053)   (0.053) 

phd     0.013   0.013   0.015   0.015  
        (0.026)  (0.036)   (0.036)   (0.036) 

ment    0.026***  0.026***   0.029***  0.029*** 
        (0.002)  (0.003)   (0.003)   (0.003) 

Constant   0.305***  0.305**   0.256*   0.256*  
        (0.103)  (0.139)   (0.137)   (0.139) 

----------------------------------------------------------------------------- 
Observations   915   915    915    915  
Log Likelihood -1,651.056      -1,561.958  -1,560.959 
theta           2.264*** (0.271)    
Akaike Inf. Crit. 3,314.113      3,135.917     
============================================================================= 
Note:            *p<0.1; **p<0.05; ***p<0.01 

böyle multicolumn çıkış için arıyorum:

============================================================================= 
             Dependent variable:      
        ----------------------------------------------------------- 
               art        
          Poisson    Negative Binomial 

        Poisson  QuasiPoisson   NB   ZINB 

        (1)   (2)    (3)    (4)  
----------------------------------------------------------------------------- 
femWomen   -0.225***  -0.225***  -0.216***  -0.216*** 
        (0.055)  (0.074)   (0.073)   (0.073) 

marMarried   0.155**  0.155*   0.150*   0.150*  
        (0.061)  (0.083)   (0.082)   (0.082) 

kid5    -0.185***  -0.185***  -0.176***  -0.176*** 
        (0.040)  (0.054)   (0.053)   (0.053) 

phd     0.013   0.013   0.015   0.015  
        (0.026)  (0.036)   (0.036)   (0.036) 

ment    0.026***  0.026***   0.029***  0.029*** 
        (0.002)  (0.003)   (0.003)   (0.003) 

Constant   0.305***  0.305**   0.256*   0.256*  
        (0.103)  (0.139)   (0.137)   (0.139) 

----------------------------------------------------------------------------- 
Observations   915   915    915    915  
Log Likelihood -1,651.056      -1,561.958  -1,560.959 
theta           2.264*** (0.271)    
Akaike Inf. Crit. 3,314.113      3,135.917     
============================================================================= 
Note:            *p<0.1; **p<0.05; ***p<0.01 
  1. İlk sıra kelimesini Poisson olmalıdır Sonraki iki sütun için ilk iki sütun ve Negative Binomial.
  2. İkinci satırda Poisson, Quasi Poisson, Negative Binomial ve Zero Inflated Negative Binomial gibi sütun adları olmalıdır.

Bu link buldum, ancak bunun nasıl elde edileceğini anlayamadım. Herhangi bir yardım çok takdir edilecektir. Teşekkürler

+1

Bunun "stargazer" veya "texreg" kullanılarak yapılabileceğini sanmıyorum. İstediğiniz çıktıyı üretmek için kaynağı değiştirmeniz gerekir. Bu her zaman yaptığınız bir şey olmadığı sürece, çıkışı el ile düzenlemek daha kolay olacaktır. –

cevap

3

Nick Kennedy gibi stargazer istediğiniz çıktıyı doğrudan üretebileceğinizi sanmıyorum. Bu nedenle, burada bir geçici çözüm: stargazer tablosunu bir nesneye kaydedin ve istenen satırları manuel olarak ekleyin. Burada kod yazdım; biraz daha fazla çaba ile, metni ilgili sütunların üzerinde otomatik olarak ortalamak mümkün olmalıdır. Model adlarını (yanlış) gizlemek için stargazer aramanızı biraz değiştirdiğimi unutmayın.

library(pscl) 
library(stargazer) 

data("bioChemists", package = "pscl") 

fm_pois <- glm(art ~ ., data = bioChemists, family = poisson) 
fm_qpois <- glm(art ~ ., data = bioChemists, family = quasipoisson) 
fm_nb <- glm.nb(art ~ ., data = bioChemists) 
fm_zinb <- zeroinfl(art ~ . | 1, data = bioChemists, dist = "negbin") 

byLine <- 
    do.call("c", 
      strsplit(
      capture.output(
       stargazer(fm_pois, fm_qpois, fm_nb, fm_zinb, 
         type = "text", model.names = FALSE) 
      ), 
      "\n")) 

result <- append(
    byLine, 
    c(
    "      Poisson    Negative Binomial", 
    "", 
    "     Poisson QuasiPoisson  NB   ZINB" 
), 
    after = c(4, 5, 6)) 

cat(paste(result, collapse = "\n")) 

# ================================================================== 
#         Dependent variable:    
#     ------------------------------------------------ 
#           art      
#       Poisson    Negative Binomial 
# 
#     Poisson QuasiPoisson  NB   ZINB 
#      (1)  (2)   (3)   (4)  
# ------------------------------------------------------------------ 
# femWomen   -0.225*** -0.225*** -0.216***  -0.216*** 
#     (0.055) (0.074)  (0.073)  (0.073) 
#                 
# marMarried   0.155** 0.155*  0.150*  0.150* 
#     (0.061) (0.083)  (0.082)  (0.082) 
#                 
# kid5    -0.185*** -0.185*** -0.176***  -0.176*** 
#     (0.040) (0.054)  (0.053)  (0.053) 
#                 
# phd     0.013  0.013  0.015   0.015 
#     (0.026) (0.036)  (0.036)  (0.036) 
#                 
# ment    0.026*** 0.026***  0.029***  0.029*** 
#     (0.002) (0.003)  (0.003)  (0.003) 
#                 
# Constant   0.305*** 0.305**  0.256*  0.256* 
#     (0.103) (0.139)  (0.137)  (0.139) 
#                 
# ------------------------------------------------------------------ 
# Observations   915  915   915   915  
# Log Likelihood -1,651.056    -1,561.958 -1,560.959 
# theta         2.264*** (0.271)   
# Akaike Inf. Crit. 3,314.113    3,135.917    
# ================================================================== 
# Note:         *p<0.1; **p<0.05; ***p<0.01