根据序列显示变量名,使用texreg在回归模型中显示

时间:2018-07-12 03:44:25

标签: r regression 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))

导出回归表时,texreg会将interaction项放在最底端。但是,如果Interaction项出现在Sepal.WidthPetal.LengthOLS2的正下方而不是底部,则检查结果会容易得多(考虑到我有很大的回归表)。

这是使用texreg的输出:

enter image description here

有什么方法可以配置texreg包,以便新添加的变量将根据模型中的顺序出现而不是在底部出现?

1 个答案:

答案 0 :(得分:1)

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

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