ivldv {micsr} | R Documentation |
Instrumental variable estimators for limited dependent variable
Description
Estimation of simultaneous-equation models when the response is binomial or censored
Usage
ivldv(
formula,
data,
subset = NULL,
weights = NULL,
na.action,
offset,
method = c("twosteps", "minchisq", "ml", "test"),
model = c("probit", "tobit"),
robust = TRUE,
left = 0,
right = Inf,
trace = 0,
...
)
endogtest(x, ...)
## S3 method for class 'formula'
endogtest(x, ..., data, model = c("probit", "tobit"))
## S3 method for class 'ivldv'
endogtest(x, ...)
Arguments
formula |
a symbolic description of the model, |
data |
a data frame, |
subset , weights , na.action , offset |
see |
method |
one of |
model |
one of |
robust |
a boolean, if |
left , right |
left and right limits of the dependent variable. The default is respectively 0 and +Inf which corresponds to the most classic (left-zero truncated) tobit model, |
trace |
a boolean (the default if |
... |
further arguments |
x |
on object returned by |
Value
An object of class c('ivldv', 'lm')
Author(s)
Yves Croissant
References
Smith R, Blundell R (1986). “An Exogeneity Test for a Simultaneous Equation Tobit Model with an Application to Labor Supply.” Econometrica, 54(3), 679-85.
Rivers D, Vuong QH (1988). “Limited information estimators and exogeneity tests for simultaneous probit models.” Journal of Econometrics, 39(3), 347-366.
Examples
inst <- ~ sic3 + k_serv + inv + engsci + whitecol + skill + semskill + cropland +
pasture + forest + coal + petro + minerals + scrconc + bcrconc + scrcomp +
bcrcomp + meps + kstock + puni + geog2 + tenure + klratio + bunion
trade_protection <- dplyr::mutate(micsr::trade_protection,
y = ntb / (1 + ntb),
x1 = vshipped / imports / elast,
x2 = cap * x1,
x3 = labvar)
GH <- ivldv(Formula::as.Formula(y ~ x1 + x2, inst), trade_protection,
method = "twosteps", model = "tobit")
Full <- ivldv(Formula::as.Formula(y ~ x1 + x2 + labvar, inst), trade_protection,
method = "twosteps", model = "tobit")
Short <- ivldv(Formula::as.Formula(y ~ x1 + I(x2 + labvar), inst),
trade_protection, method = "twosteps", model = "tobit")
bank_msq <- ivldv(federiv ~ eqrat + optval + bonus + ltass + linsown + linstown +
roe + mktbk + perfor + dealdum + div + year | . - eqrat - bonus -
optval + no_emp + no_subs + no_off + ceo_age + gap + cfa,
data = federiv, method = "minchisq")
bank_ml <- update(bank_msq, method = "ml")
bank_2st <- update(bank_msq, method = "twosteps")