Last chance! 50% off unlimited learning
Sale ends in
The prodestWRDG()
function accepts at least 6 objects (id, time, output, free, state and proxy variables), and returns a prod
object of class S3
with three elements: (i) a list of model-related objects, (ii) a list with the data used in the estimation and estimated vectors of first-stage residuals, and (iii) a list with the estimated parameters and their bootstrapped standard errors.
prodestWRDG(Y, fX, sX, pX, idvar, timevar, cX = NULL)
the vector of value added log output.
the vector/matrix/dataframe of log free variables.
the vector/matrix/dataframe of log state variables.
the vector/matrix/dataframe of log proxy variables.
the vector/matrix/dataframe of control variables. By default cX= NULL
.
the vector/matrix/dataframe identifying individual panels.
the vector/matrix/dataframe identifying time.
The output of the function prodestWRDG
is a member of the S3
class prod. More precisely, is a list (of length 3) containing the following elements:
Model
, a list containing:
method:
a string describing the method ('WRDG').
elapsed.time:
time elapsed during the estimation.
opt.outcome:
optimization outcome.
Data
, a list containing:
Y:
the vector of value added log output.
free:
the vector/matrix/dataframe of log free variables.
state:
the vector/matrix/dataframe of log state variables.
proxy:
the vector/matrix/dataframe of log proxy variables.
control:
the vector/matrix/dataframe of log control variables.
idvar:
the vector/matrix/dataframe identifying individual panels.
timevar:
the vector/matrix/dataframe identifying time.
Estimates
, a list containing:
pars:
the vector of estimated coefficients.
std.errors:
the vector of bootstrapped standard errors.
Members of class prod
have an omega
method returning a numeric object with the estimated productivity - that is: FSres
method returns a numeric object with the residuals of the first stage regression, while summary
, show
and coef
methods are implemented and work as usual.
Consider a Cobb-Douglas production technology for firm
where
and
a)
b)
Under the above set of assumptions, It is possible to construct a system gmm using the vector of residuals from
where the unknown function
with the following set of instruments:
Following previous assumptions, being
Wooldridge, J M (2009). "On estimating firm-level production functions using proxy variables to control for unobservables." Economics Letters, 104, 112-114.
# NOT RUN {
data("chilean")
# we fit a model with two free (skilled and unskilled), one state (capital)
# and one proxy variable (electricity)
WRDG.IV.fit <- prodestWRDG_GMM(chilean$Y, fX = cbind(chilean$fX1, chilean$fX2),
chilean$sX, chilean$pX, chilean$idvar, chilean$timevar)
# show results
WRDG.IV.fit
# }
# NOT RUN {
# estimate a panel dataset - DGP1, various measurement errors - and run the estimation
sim <- panelSim()
WRDG.IV.sim1 <- prodestWRDG_GMM(sim$Y, sim$fX, sim$sX, sim$pX1, sim$idvar, sim$timevar)
WRDG.IV.sim2 <- prodestWRDG_GMM(sim$Y, sim$fX, sim$sX, sim$pX2, sim$idvar, sim$timevar)
WRDG.IV.sim3 <- prodestWRDG_GMM(sim$Y, sim$fX, sim$sX, sim$pX3, sim$idvar, sim$timevar)
WRDG.IV.sim4 <- prodestWRDG_GMM(sim$Y, sim$fX, sim$sX, sim$pX4, sim$idvar, sim$timevar)
# show results in .tex tabular format
printProd(list(WRDG.IV.sim1, WRDG.IV.sim2, WRDG.IV.sim3, WRDG.IV.sim4),
parnames = c('Free','State'))
# }
# NOT RUN {
# }
Run the code above in your browser using DataLab