Я выполняю регрессию по двум независимым переменным и их взаимодействию, наряду с фиксированными эффектами округа и кластеризации стандартных ошибок на уровне наблюдения, используя команду lm_robust
из estimatr
(версия 0.22.0) с версией R 3.6. 0.
Я хочу визуализировать предсказанные результаты регрессии, используя команду plot
из ggpredict
(версия 0.14.3), но получаю ошибку, которая, по-видимому, связана с включением фиксированных эффектов.
Указанная ошибка c, которую я получаю: Error in X[, !beta_na, drop = FALSE] %*% coefs[!beta_na, ] : non-conformable arguments
Если я использую ggpredict
после запуска регрессии, которая объединяет только стандартные ошибки, но не включает фиксированные эффекты, код выполняется просто хорошо. Я получаю ту же ошибку при использовании команд-оболочек из sjPlot
вместо ggpredict
.
Ниже приводится MWE:
library(ggeffects)
library(estimatr)
library(sjPlot)
N <- 1000
df <- data.frame(id = rep(1:N),
district = as.factor(rep(1:20, times = 50)),
x = rpois(N, lambda = 4),
y = rnorm(N),
z = factor(rbinom(N, 1, prob = 0.5)))
mod1 <- lm_robust(y ~ x*z,
clusters = id,
fixed_effects = ~district,
data = df)
summary(mod1)
predDF <- ggpredict(mod1, terms = c("x", "z")) # use ggpredict from ggeffects
plot_model(mod1, type = "pred", terms = c("x", "z")) # using plot_model from sjPlot
Интересно, как получить ggeffects
/ sjPlot
для работы lm_robust
модели, содержащие как кластерные стандартные ошибки, так и фиксированные эффекты - или альтернативные пакеты? Я уже перешел с использования felm
в библиотеке lfe
для фиксированных эффектов и кластеризации, потому что ggeffects
не работает на felm
объектах.