Я думаю, что есть несколько подходов. Я не смотрел на них всех и не уверен, что является лучшим:
sandwich
Пакет:
library(sandwich)
coeftest(model, vcov=sandwich)
Но это не дает мне те же ответы, которые я получаю от Stata по какой-то причине. Я никогда не пытался понять почему, я просто не использую этот пакет.
rms
Пакет: Я считаю , это немного боли работать, но , как правило , получить хорошие ответы с некоторым усилием. И это самое полезное для меня.
model = ols(a~b, x=TRUE)
robcov(model)
Вы можете написать код с нуля (см. Этот пост в блоге ). Это выглядит как наиболее болезненный вариант, но удивительно прост, и этот вариант часто работает лучше всего.
Простое / быстрое объяснение состоит в том, что Huber-White или Robust SE получены из данных, а не из модели, и, таким образом, являются устойчивыми ко многим допущениям модели. Но, как всегда, быстрый поиск в Google выложит это в мучительных деталях, если вам интересно.