I have a panel data set with a non-stationary regressand and a non-stationary regressor. I've used the plm package to do a fixed effects regression of a long-run (i.e. cointegrating) relationship between these non-stationary variables and I've used plm's purtest to do an Engle-Granger test that the residuals of that regression are indeed stationary. Now, I need to run an error correction model (ECM) to identify the dynamics -- the speed at which the regressand converges to the level implied by that cointegrating relationship in response to a shock to the regressor. The plm package does not seem to be capable of estimating an ECM (unless I missed something). Packages like urca seem to offer ECMs but only for pure time series (i.e. they do not handle panel data). I've searched but have not found other options in r. Any suggestions out there? I've come up with 3 options: 1. Try to code the maximization of the appropriate ECM's likelihood 2. Try to transform an ECM into the sort of dynamic gmm model that can be handled by plm (or even by a package not designed for econometrics like nmle, lme4, or lmer) 3. Try to trick urca (or another package capable of estimating an ECM) into respecting the panel structure of the data by inserting na observations into the "time series" every time the panel rolls over to the next individual? Thanks for any help, Bentley [[alternative HTML version deleted]]