Fit instrumental-variable regression by two-stage least squares. This is equivalent to direct instrumental-variables estimation when the number of instruments is equal to the number of predictors.
ivreg(formula, instruments, data, subset, na.action, weights, offset, contrasts = NULL, model = TRUE, y = TRUE, x = FALSE, ...)
- formula, instruments
- formula specification(s) of the regression
relationship and the instruments. Either
instrumentsis missing and
formulahas three parts as in
y ~ x1 + x2 | z1 + z2 + z3(recommended) or
y ~ x1 + x2and
instrumentsis a one-sided formula
~ z1 + z2 + z3(only for backward compatibility).
- an optional data frame containing the variables in the model.
By default the variables are taken from the environment of the
- an optional vector specifying a subset of observations to be used in fitting the model.
- a function that indicates what should happen when the
NAs. The default is set by the
- an optional vector of weights to be used in the fitting process.
- an optional offset that can be used to specify an a priori known component to be included during fitting.
- an optional list. See the
- model, x, y
- logicals. If
TRUEthe corresponding components of the fit (the model frame, the model matrices , the response) are returned.
- further arguments passed to
ivreg is the high-level interface to the work-horse function
a set of standard methods (including
estfun) is available and described on
Regressors and instruments for
ivreg are most easily specified in a formula
with two parts on the right-hand side, e.g.,
y ~ x1 + x2 | z1 + z2 + z3,
x2 are the regressors and
z3 are the instruments. Note that exogenous
regressors have to be included as instruments for themselves. For
example, if there is one exogenous regressor
ex and one endogenous
en with instrument
in, the appropriate formula
y ~ ex + en | ex + in. Equivalently, this can be specified as
y ~ ex + en | . - en + in, i.e., by providing an update formula with a
. in the second part of the formula. The latter is typically more convenient,
if there is a large number of exogenous regressors.
ivregreturns an object of class
"ivreg", with the following components:
Greene, W. H. (1993) Econometric Analysis, 2nd ed., Macmillan.
## data data("CigarettesSW", package = "AER") CigarettesSW$rprice <- with(CigarettesSW, price/cpi) CigarettesSW$rincome <- with(CigarettesSW, income/population/cpi) CigarettesSW$tdiff <- with(CigarettesSW, (taxs - tax)/cpi) ## model fm <- ivreg(log(packs) ~ log(rprice) + log(rincome) | log(rincome) + tdiff + I(tax/cpi), data = CigarettesSW, subset = year == "1995") summary(fm) summary(fm, vcov = sandwich, df = Inf, diagnostics = TRUE) ## ANOVA fm2 <- ivreg(log(packs) ~ log(rprice) | tdiff, data = CigarettesSW, subset = year == "1995") anova(fm, fm2)