【问题标题】:Displaying the variable names according to the sequence appeared in the regression models using `texreg`使用 `texreg` 根据回归模型中出现的顺序显示变量名称
【发布时间】:2018-07-12 03:44:24
【问题描述】:

使用texreg,我试图根据回归模型中出现的顺序显示变量名称。例如:

我创建了Sepal.WidthPetal.Length的交互术语。

iris$Interaction = iris$Sepal.Width * iris$Petal.Length

我运行了两个回归,一个没有交互项,一个有交互项:

OLS1 = lm(Sepal.Length ~ Sepal.Width + Petal.Length + Petal.Width, data = iris)
OLS2 = lm(Sepal.Length ~ Sepal.Width + Petal.Length + Interaction + Petal.Width, data = iris)
screenreg(list(OLS1, OLS2))

在导出回归表时,texreg 会将interaction 项放在最底部。但是,如果Interaction 术语出现在OLS2Sepal.WidthPetal.Length 的正下方而不是底部,那么读者检查结果会容易得多(考虑到我有一个非常大的回归表)。

这是使用texreg的输出:

有没有办法配置texreg包,让新添加的变量按照模型中的顺序出现,而不是出现在底部?

【问题讨论】:

  • 您的回答确实很有帮助。谢谢!

标签: r regression texreg


【解决方案1】:

您可以使用texreg::screenreg() 的选项reorder.coef

texreg::screenreg(list(OLS1, OLS2), reorder.coef = c(1:3, 5, 4))

或者,更笼统地说:

rrdrd.coef <- c(seq_along(names(coef(OLS2)))[-which(names(coef(OLS2)) == "Interaction")], 
  which(names(coef(OLS2)) == "Interaction"))

texreg::screenreg(list(OLS1, OLS2), reorder.coef = rrdrd.coef)

收益

====================================
              Model 1     Model 2   
------------------------------------
(Intercept)     1.86 ***    1.30 *  
               (0.25)      (0.51)   
Sepal.Width     0.65 ***    0.82 ***
               (0.07)      (0.15)   
Petal.Length    0.71 ***    0.87 ***
               (0.06)      (0.14)   
Interaction                -0.05    
                           (0.04)   
Petal.Width    -0.56 ***   -0.53 ***
               (0.13)      (0.13)   
------------------------------------
R^2             0.86        0.86    
Adj. R^2        0.86        0.86    
Num. obs.     150         150       
RMSE            0.31        0.31    
====================================
*** p < 0.001, ** p < 0.01, * p < 0.05

【讨论】:

    猜你喜欢
    • 2018-10-01
    • 2019-04-13
    • 2020-02-21
    • 1970-01-01
    • 1970-01-01
    • 2018-01-07
    • 2018-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多