Eu acho que existem algumas abordagens. Eu não olhei para todos eles e não tenho certeza qual é o melhor:
O sandwich
pacote:
library(sandwich)
coeftest(model, vcov=sandwich)
Mas isso não me dá as mesmas respostas que recebo da Stata por algum motivo. Eu nunca tentei descobrir o porquê, apenas não uso este pacote.
O rms
pacote: acho isso um pouco trabalhoso, mas geralmente recebo boas respostas com algum esforço. E é o mais útil para mim.
model = ols(a~b, x=TRUE)
robcov(model)
Você pode codificá-lo do zero (consulte esta postagem do blog ). Parece a opção mais dolorosa, mas notavelmente fácil e essa opção geralmente funciona melhor.
Uma explicação simples / rápida é que o Huber-White ou o Robust SE são derivados dos dados e não do modelo e, portanto, são robustos a muitas suposições do modelo. Mas, como sempre, uma rápida pesquisa no Google explicará isso com detalhes excruciantes, se você estiver interessado.