Обычно я использую следующий код, когда мне нужно запустить несколько регрессий.
outcomes <- colnames(df[,1:10]) #specifies column names for variables
form <- paste(outcomes, "~ covariate1 + covariate2)
model <- form %>%
set_names(outcomes) %>%
map(~lm(.x, data = df))
map(model, summary)
Это дает мне вывод для регрессии всех переменных результата на ковариате1 + ковариате2.
Я пытаюсь сделать то же самое, но с кластерными надежными стандартными ошибками. Я использовал lm_robust из пакета estimatr. Это изменение, которое я сделал в приведенном выше коде.
outcomes <- colnames(df[,1:10])
form <- paste(outcomes, "~ covariate1 + covariate2)
model <- form %>%
set_names(outcomes) %>%
map(~lm_robust(.x, data = df, clusters = id))
map(model, summary)
Как видите, я изменил lm на lm_robust и добавил аргумент, который указывает уровень, на котором я хочу кластеризоваться. Почему это не работает, когда приведенный выше код работает? Что бы вы предложили изменить, чтобы этот код работал?
Я также открыт для совершенно новых способов одновременной работы кластерной и некластерной регрессий.