使用 texreg 根据回归模型中出现的顺序显示变量名称

Displaying the variable names according to the sequence appeared in the regression models using `texreg`

使用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))

导出回归 table 时,texreg 会在最底部抛出 interaction 项。但是,如果 Interaction 项出现在 OLS2Sepal.WidthPetal.Length 的正下方而不是底部,reader 会更容易检查结果(考虑到我有一个非常大的回归table)。

这是使用 texreg:

的输出

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

您可以使用 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