Estoy intentando hacer todo lo que puedo en R en vez de Stata, pero Stata tiene externalidades positivas en red en la profesión economista y es difícil dejarlo si tenemos coautores que usan Stata. En todo caso, una de las regresiones más comunes que tengo que ejecutar es la regresión con efectos fijos y errors estándar clusterizados. Supongamos que Y es la variable dependiente, X es una variable explicativa y F es una variable categórica que define los efectos fijos. También queremos clusterizar los errores de acuerdo a F. Si F tiene muchas categorías, se tiene que usar algun procedimientos de diferencias con la media para eliminar los efectos fijos, para no tener un número excesivo de regresores, cosa que pasaría si se incluyeran explícitamente. Este sería el código en Stata:
xtset F
xtreg Y X, fe cluster(F) robust dfadj
La opción "dfadj" la descubrí recientemente, y se necesita para obtener los errores estándar correctos (se refiere a "degrees of freedom adjustment", o sea ajuste de los grados de libertad, y al menos para mi, estaba bastante oculta en los manuales).
Para producir los mismos resultados con el R, tenemos que usar la función felm del paquete lfe. Este es el código:
model <- felm(Y ~ X | F | 0 | F)
summary(model)
En la función felm los argumentos se separan con "|". El primer argumento es la ecuación a estimar, el siguiente es la variable categòrica que define los efectos fijos a eliminar mediante el procedimiento de restar la media. El tercero, en este caso "0", podría usarse para introducir los instrumentos en una estimación por variables instrumentales, mientras que el último define la clusterización de los errores estándar. Esta función de R produce exactamente los mismos resultados que el código de Stata de arriba.