The function fits first difference models using GLS estimation.

fdm(formula, data, id = NULL, wave = NULL, use.wave = FALSE,
min.waves = 1, variance = c("toeplitz-1", "constrained",
"unconstrained"), error.type = c("CR2", "CR1S"), ...)

## Arguments

formula Model formula. See details for crucial info on panelr's formula syntax. The data, either a panel_data object or data.frame. If data is not a panel_data object, then the name of the individual id column as a string. Otherwise, leave as NULL, the default. If data is not a panel_data object, then the name of the panel wave column as a string. Otherwise, leave as NULL, the default. Should the wave be included as a predictor? Default is FALSE. What is the minimum number of waves an individual must have participated in to be included in the analysis? Default is 2 and any valid number is accepted. "all" is also acceptable if you want to include only complete panelists. One of "toeplitz-1", "constrained", or "unconstrained". The toeplitz variance specification estimates a single error variance and a single lag-1 error correlation with other lags having zero correlation. The constrained model assumes no autocorrelated errors or heteroskedastic errors. The unconstrained option allows separate variances for every period as well as every lag of autocorrelation. This can be very computationally taxing as periods increase and will be inefficient when not necessary. See Allison (2019) for more. Either "CR2" or "CR1S". See the clubSandwich package for more details. Ignored.

## References

Allison, P. D. (2019). Asymmetric fixed-effects models for panel data. Socius, 5, 1-12. https://doi.org/10.1177/2378023119826441

## Examples


data("teen_poverty")
# Convert to long format
teen <- long_panel(teen_poverty, begin = 1, end = 5)
model <- fdm(hours ~ lag(pov) + spouse, data = teen)
summary(model)#> MODEL INFO:
#> Entities: 1151
#> Time periods: 3-5
#> Dependent variable: hours
#> Variance structure: toeplitz-1 (theta = -0.51)
#>
#> MODEL FIT:
#> AIC = 28771.97, BIC = 28802.7
#>
#> Standard errors: CR2
#> ------------------------------------------------
#>                      Est.   S.E.   t val.      p
#> ----------------- ------- ------ -------- ------
#> (Intercept)          2.09   0.19    10.89   0.00
#> lag_pov             -1.62   0.56    -2.91   0.00
#> spouse              -2.38   1.26    -1.89   0.06
#> ------------------------------------------------