Difference between fixed effects models in R (plm) and Stata (xtreg) I'm trying to re-create an analysis done using Stata function xtreg (though I don't have the code) with R package plm, and I'm having trouble translating between the two. A minimal example of the model I'm trying to estimate would be as follows:
$$
\text{Dependent}_{i,t} = \beta_0 + \gamma_i + \delta_t + \beta_1*\text{Dependent}_{i,t-1} + \beta_2*\text{Independent}_{i,t} + \epsilon_{i,t}
$$
where $\gamma_i$ is a control for the cross-sectional factor (States), $\delta_t$ is a control for each time period (Year), $\text{Dependent}_{i,t}$ is a dependent variable in the form of a proportion, and $\text{Independent}_{i,t}$ is an attribute of a record that changes with both the cross-sectional and time component of the data.
I've attempted to estimate the coefficients for the model using R with the following (generalized) code:
model <- plm(Dependent_it ~ Independent_it + lag(Dependent_it,1), 
             data   = data, 
             method = "within", #fixed effects model
             effect = "twoway", #does the gamma_i and delta_t parts (I think)
             index  = c("State", "Year")
             )

I've tried to re-create it in Stata using the following (after running xtset State Year, yearly of course)
xtreg Dependent Independent l.Dependent i.Year, fe

I get different results, so I must be doing something wrong with either xtreg or plm, or both. Can someone enlighten me as to if I've coded the above model appropriately in either language?
 A: Welcome to the site, @gwatson! You are right that effect = "twoways" sets up both "individual" and "year" effects.
I tested with Produc data from R package plm and found the main results are the same (see the codes and outputs below). The only apparent difference I found is the year effect, which is caused by contrast (xtreg sets the first year as reference, while plm directly estimates the effect for each year).
## R code
data("Produc", package = "plm")
zz <- plm(gsp ~ unemp + lag(gsp), data = Produc, index = c("state","year"), method = "within", effect = "twoways")
summary(zz)

## plm output
Coefficients :
            Estimate  Std. Error  t-value  Pr(>|t|)    
unemp    -5.4525e+02  6.8611e+01  -7.9469 7.614e-15 ***
lag(gsp)  1.0125e+00  9.1789e-03 110.3029 < 2.2e-16 ***


## Stata code
use Produc, clear
xtset state year, yearly
xtreg gsp unemp l.gsp i.year, fe

## xtreg output
------------------------------------------------------------------------------
         gsp |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
       unemp |   -545.246   68.61136    -7.95   0.000    -679.9537   -410.5383
      gsp L1.|   1.012464   .0091789   110.30   0.000     .9944422    1.030485
-------------+----------------------------------------------------------------

