I am trying to learn R after using Stata and I must say that I love it. But now I am having some trouble. I am about to do some multiple regressions with Panel Data so I am using the plm
package.
Now I want to have the same results with plm
in R as when I use the lm
function and Stata when I perform a heteroscedasticity robust and entity fixed regression.
Let's say that I have a panel dataset with the variables Y
, ENTITY
, TIME
, V1
.
I get the same standard errors in R with this code
lm.model<-lm(Y ~ V1 + factor(ENTITY), data=data)
coeftest(lm.model, vcov.=vcovHC(lm.model, type="HC1))
as when I perform this regression in Stata
xi: reg Y V1 i.ENTITY, robust
But when I perform this regression with the plm
package I get other standard errors
plm.model<-plm(Y ~ V1 , index=C("ENTITY","YEAR"), model="within", effect="individual", data=data)
coeftest(plm.model, vcov.=vcovHC(plm.model, type="HC1))
- Have I missed setting some options?
- Does the
plm
model use some other kind of estimation and if so how? - Can I in some way have the same standard errors with
plm
as in Stata with, robust
lm
, so the results match. In theplm
model you're doing an FE regression Y = a0 + a1*V1 + ui + epsilon, where ui is the FE for each "individual", which byindex
you've specified to be ENTITY. So I think your stata and R results match in the first case because you're doing a pooled panel with entity as an ind var in both cases. But I don't know stata. – Richard Herron