#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