【问题标题】:Get stargazer to print number of observations in multinomial logistic regression让观星者打印多项逻辑回归中的观察次数
【发布时间】:2020-07-14 15:28:34
【问题描述】:

有没有办法在观星表中打印多项逻辑回归模型的观察次数?此示例代码说明了该问题。 谢谢。

var1<-sample(c('A', 'B', 'C'), size=1000, replace=T)
var2<-rnorm(n=1000)
var3<-rnorm(n=1000)
df<-data.frame(var1, var2, var3)
library(nnet)
mod1<-multinom(var1~var2+var3, data=df)
library(stargazer)
stargazer(mod1, nobs=T, type="text")

【问题讨论】:

    标签: r stargazer nnet


    【解决方案1】:

    Stargazer 是一个非常不错的软件包,但有时您必须“手动”进行一些调整。如果您想在输出中进行多次观察,请执行以下操作:

    stargazer(mod1, 
              type="text", 
              add.lines = list(c("n", nrow(df), nrow(df))))
    

    如果你想在乳胶中创建一个表,你可以使用:

    stargazer(mod1, 
              type="latex", 
              add.lines = list(c("\\textit{$n$}", nrow(df), nrow(df))))
    

    这种方法是这样的,一旦你用乳胶渲染它,“n”就会变成数学字体。

    ==============================================
                          Dependent variable:     
                      ----------------------------
                            B              C      
                           (1)            (2)     
    ----------------------------------------------
    var2                  0.0002        -0.055    
                         (0.080)        (0.079)   
                                                  
    var3                  -0.088         0.012    
                         (0.078)        (0.077)   
                                                  
    Constant              -0.029         0.030    
                         (0.078)        (0.077)   
                                                  
    ----------------------------------------------
    n                      1000          1000     
    Akaike Inf. Crit.   2,206.078      2,206.078  
    ==============================================
    Note:              *p<0.1; **p<0.05; ***p<0.01
    

    希望这正是您所要求的。

    【讨论】:

      【解决方案2】:

      texreg 会代替你工作吗?

      library(texreg)
      screenreg(list(mod1))
      # ====================================
      #                 B          C        
      # ------------------------------------
      # (Intercept)         0.01      -0.03 
      #                    (0.08)     (0.08)
      # var2               -0.06       0.01 
      #                    (0.08)     (0.08)
      # var3                0.04       0.10 
      #                    (0.08)     (0.08)
      # ------------------------------------
      # AIC              2206.34    2206.34 
      # BIC              2235.79    2235.79 
      # Log Likelihood  -1097.17   -1097.17 
      # Deviance         2194.34    2194.34 
      # Num. obs.        1000       1000    
      # ====================================
      # *** p < 0.001, ** p < 0.01, * p < 0.05
      

      我可能错了,但我不确定这是否可以通过 nnetstargazer 轻松完成。你可以让你的模型模仿不同的输出。有关approach 的类型,请参见此处。

      【讨论】:

      • 这会起作用,但不知何故 B 和 C 目前列在一个列下。所以协变量是 B: var2, B:var3, C:var2, C:var3。我更喜欢这个输出;我怎么得到它?
      • 我不确定我是否理解你,输出看起来很像stargazer?
      • 在您的输出中,您有两列 B 和 C;一列是 P (B) ~ P(A) 的 var2 和 var3 的系数,第二列是相同的系数,但对于 P (C) 。 〜P(A)我喜欢那个输出,但我没有使用你的代码得到那个输出。相反,我得到一列列出一列中的所有系数。 B:var2,B:var3,C:var2,C:var3。 Stargazer 的输出实际上看起来很像您在此处生成的,我更喜欢它,但使用您的 texreg 代码无法获得。
      • 所以你是说当你运行 screenreg(list(mod1)) 时,你得到的输出看起来和我上面做的不一样?
      • 我不知道,你用的是什么包版本? packageVersion("texreg") [1] ‘1.36.23’,也许刷新 R?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-05
      • 2011-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多