lm_robust получает опорный уровень факторной переменной

#r #regression

#r #регрессия

Вопрос:

Как мне автоматически получить строку, показывающую опорный уровень факторных переменных в приведенном ниже выводе регрессии? Я хочу добиться этого, потому что мне нравится удобно передавать выходные данные и имена опорных уровней для целей построения графика.

 library(estimatr)

N = 20000
x = rbinom(N, 1, prob = 0.4)
y = 0.4*x   rnorm(N)
df <- data.frame(x,y)
df$x <- factor(df$x)

lm_robust(df, formula = y ~ x)

# What I want:

              Estimate  Std. Error   t value      Pr(>|t|)     CI Lower   CI Upper    DF
(Intercept) 0.01226214 0.009170196  1.337173  1.811815e-01 -0.005712206 0.03023648 19998
x0          0 or NA... etc.  
x1          0.36736184 0.014482711 25.365544 9.761365e-140  0.338974534 0.39574915 19998

 

Комментарии:

1. Похоже, есть только категориальные переменные. Вы можете соответствовать без перехвата. ‘y~0 x1’

2. В основном речь идет о получении имен ссылочных категорий для дальнейшего использования (например, построения графика). Также пример является просто MWE для простоты

3. Неужели нет другого способа, кроме как сделать это вручную?

Ответ №1:

Я не очень уверен в вашем вопросе, поэтому ниже приведена попытка. emmeans это полезный пакет для определения индивидуальных оценок, и вам необходимо использовать пакет, с которым он «совместим».. Итак, если это надежная оценка, вы можете использовать rlm from MASS и сделать:

 library(MASS)
library(emmeans)

N = 20000
x = sample(0:3,N,replace=TRUE)
y = 0.4*(x==1)   rnorm(N)
df <- data.frame(x,y)
df$x <- factor(df$x)


emmeans(fit,"x")
 x  emmean     SE df asymp.LCL asymp.UCL
 0  0.0143 0.0146 NA   -0.0143    0.0429
 1  0.4096 0.0146 NA    0.3811    0.4382
 2  0.0108 0.0148 NA   -0.0181    0.0398
 3 -0.0187 0.0147 NA   -0.0475    0.0101