Creo que hay varios enfoques. No los he estudiado todos y no estoy seguro de cuál es el mejor:
-
En sandwich
paquete:
library(sandwich)
coeftest(model, vcov=sandwich)
Pero esto no me da las mismas respuestas que obtengo de Stata por alguna razón. Nunca he intentado averiguar por qué, simplemente no uso este paquete.
-
En rms
paquete: me resulta un poco pesado, pero suelo obtener buenas respuestas con un poco de esfuerzo. Y para mí es el más útil.
model = ols(a~b, x=TRUE)
robcov(model)
-
Puede codificarlo desde cero (véase esta entrada del blog ). Parece la opción más dolorosa, pero es notablemente fácil y esta opción suele ser la que mejor funciona.
Una explicación sencilla y rápida es que los SE de Huber-White o robustos se derivan de los datos y no del modelo, por lo que son robustos a muchos supuestos del modelo. Pero, como siempre, una rápida búsqueda en Google lo explicará con insoportable detalle si le interesa.