# ivreg

##### Instrumental-Variable Regression

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.

- Keywords
- regression

##### Usage

`ivreg(formula, instruments, data, subset, na.action, weights, offset, contrasts = NULL, model = TRUE, y = TRUE, x = FALSE, ...)`

##### Arguments

- formula, instruments
- formula specification(s) of the regression
relationship and the instruments. Either
`instruments`

is missing and`formula`

has three parts as in`y ~ x1 + x2 | z1 + z2 + z3`

(recommended) or`formula`

is`y ~ x1 + x2`

and`instruments`

is a one-sided formula`~ z1 + z2 + z3`

(only for backward compatibility). - data
- an optional data frame containing the variables in the model.
By default the variables are taken from the environment of the
`formula`

. - subset
- an optional vector specifying a subset of observations to be used in fitting the model.
- na.action
- a function that indicates what should happen when the
data contain
`NA`

s. The default is set by the`na.action`

option. - weights
- an optional vector of weights to be used in the fitting process.
- offset
- an optional offset that can be used to specify an a priori known component to be included during fitting.
- contrasts
- an optional list. See the
`contrasts.arg`

of`model.matrix.default`

. - model, x, y
- logicals. If
`TRUE`

the corresponding components of the fit (the model frame, the model matrices , the response) are returned. - ...
- further arguments passed to
`ivreg.fit`

.

##### Details

`ivreg`

is the high-level interface to the work-horse function `ivreg.fit`

,
a set of standard methods (including `print`

, `summary`

, `vcov`

, `anova`

,
`hatvalues`

, `predict`

, `terms`

, `model.matrix`

, `bread`

,
`estfun`

) is available and described on `summary.ivreg`

.

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`

,
where `x1`

and `x2`

are the regressors and `z1`

,
`z2`

, 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
regressor `en`

with instrument `in`

, the appropriate formula
would be `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.

##### Value

`ivreg`

returns an object of class `"ivreg"`

, with the following components:##### References

Greene, W. H. (1993)
*Econometric Analysis*, 2nd ed., Macmillan.

##### See Also

##### Examples

`library(AER)`

```
## 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)
```

*Documentation reproduced from package AER, version 1.2-5, License: GPL-2 | GPL-3*