Отображение имен переменных в соответствии с последовательностью, появившейся в регрессионных моделях с использованием `texreg`
С помощью texreg
Я пытаюсь отобразить имена переменных в соответствии с последовательностью, появившейся в регрессионных моделях. Например:
Я создаю термин взаимодействия Sepal.Width
а также Petal.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.Width
а также Petal.Length
в OLS2
вместо дна (учитывая, что у меня очень большая таблица регрессий).
Это вывод с использованием texreg
:
Есть ли способ настроить texreg
пакет, чтобы вновь добавленная переменная отображалась в соответствии с порядком в модели, а не появлялась внизу?
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