# NOT RUN {
#### Example 2-4
## ------------------------------------------------------------------------
library("plm")
data("ForeignTrade", package = "pder")
FT <- pdata.frame(ForeignTrade)
summary(FT$gnp)
ercomp(imports ~ gnp, FT)
models <- c("within", "random", "pooling", "between")
sapply(models, function(x) coef(plm(imports ~ gnp, FT, model = x))["gnp"])
#### Example 6-2
## ------------------------------------------------------------------------
data("ForeignTrade", package = "pder")
w1 <- plm(imports~pmcpi + gnp + lag(imports) + lag(resimp) |
lag(consump) + lag(cpi) + lag(income) + lag(gnp) + pm +
lag(invest) + lag(money) + gnpw + pw + lag(reserves) +
lag(exports) + trend + pgnp + lag(px),
ForeignTrade, model = "within")
r1 <- update(w1, model = "random", random.method = "nerlove",
random.dfcor = c(1, 1), inst.method = "baltagi")
## ------------------------------------------------------------------------
phtest(r1, w1)
## ------------------------------------------------------------------------
r1b <- plm(imports ~ pmcpi + gnp + lag(imports) + lag(resimp) |
lag(consump) + lag(cpi) + lag(income) + lag(px) +
lag(reserves) + lag(exports) | lag(gnp) + pm +
lag(invest) + lag(money) + gnpw + pw + trend + pgnp,
ForeignTrade, model = "random", inst.method = "baltagi",
random.method = "nerlove", random.dfcor = c(1, 1))
phtest(w1, r1b)
## ------------------------------------------------------------------------
rbind(within = coef(w1), ec2sls = coef(r1b)[-1])
## ------------------------------------------------------------------------
elast <- sapply(list(w1, r1, r1b),
function(x) c(coef(x)["pmcpi"],
coef(x)["pmcpi"] / (1 - coef(x)["lag(imports)"])))
dimnames(elast) <- list(c("ST", "LT"), c("w1", "r1", "r1b"))
elast
## ------------------------------------------------------------------------
rbind(within = coef(summary(w1))[, 2],
ec2sls = coef(summary(r1b))[-1, 2])
#### Example 6-4
## ------------------------------------------------------------------------
eqimp <- imports ~ pmcpi + gnp + lag(imports) +
lag(resimp) | lag(consump) + lag(cpi) + lag(income) +
lag(px) + lag(reserves) + lag(exports) | lag(gnp) + pm +
lag(invest) + lag(money) + gnpw + pw + trend + pgnp
eqexp <- exports ~ pxpw + gnpw + lag(exports) |
lag(gnp) + pw + lag(consump) + pm + lag(px) + lag(cpi) |
lag(money) + gnpw + pgnp + pop + lag(invest) +
lag(income) + lag(reserves) + exrate
r12 <- plm(list(import.demand = eqimp,
export.demand = eqexp),
data = ForeignTrade, index = 31, model = "random",
inst.method = "baltagi", random.method = "nerlove",
random.dfcor = c(1, 1))
summary(r12)
## ------------------------------------------------------------------------
rbind(ec2sls = coef(summary(r1b))[-1, 2],
ec3sls = coef(summary(r12), "import.demand")[-1, 2])
# }
Run the code above in your browser using DataLab