pldv function

Panel estimators for limited dependent variables

Panel estimators for limited dependent variables

Fixed and random effects estimators for truncated or censored limited dependent variable

pldv( formula, data, subset, weights, na.action, model = c("fd", "random", "pooling"), index = NULL, R = 20, start = NULL, lower = 0, upper = +Inf, objfun = c("lsq", "lad"), sample = c("cens", "trunc"), ... )

Arguments

  • formula: a symbolic description for the model to be estimated,
  • data: a data.frame,
  • subset: see lm,
  • weights: see lm,
  • na.action: see lm,
  • model: one of "fd", "random", or "pooling",
  • index: the indexes, see pdata.frame(),
  • R: the number of points for the gaussian quadrature,
  • start: a vector of starting values,
  • lower: the lower bound for the censored/truncated dependent variable,
  • upper: the upper bound for the censored/truncated dependent variable,
  • objfun: the objective function for the fixed effect model (model = "fd", irrelevant for other values of the model argument ): one of "lsq" for least squares (minimise sum of squares of the residuals) and "lad" for least absolute deviations (minimise sum of absolute values of the residuals),
  • sample: "cens" for a censored (tobit-like) sample, "trunc" for a truncated sample,
  • ...: further arguments.

Returns

For model = "fd", an object of class c("plm", "panelmodel"), for model = "random" and model = "pooling" an object of class c("maxLik", "maxim").

Details

pldv computes two kinds of models: a LSQ/LAD estimator for the first-difference model (model = "fd") and a maximum likelihood estimator with an assumed normal distribution for the individual effects (model = "random" or "pooling").

For maximum-likelihood estimations, pldv uses internally function maxLik::maxLik() (from package list("maxLik")).

Examples

## as these examples take a bit of time, do not run them automatically ## Not run: data("Donors", package = "pder") library("plm") pDonors <- pdata.frame(Donors, index = "id") # replicate Landry/Lange/List/Price/Rupp (2010), online appendix, table 5a, models A and B modA <- pldv(donation ~ treatment + prcontr, data = pDonors, model = "random", method = "bfgs") summary(modA) modB <- pldv(donation ~ treatment * prcontr - prcontr, data = pDonors, model = "random", method = "bfgs") summary(modB) ## End(Not run)

References

\insertRef HONO:92plm

Author(s)

Yves Croissant