Calculate the elasticities of a translog function.
Usage
translogEla( xNames, data, coef, coefCov = NULL,
dataLogged = FALSE )
## S3 method for class 'translogEst'
elas( object, data = NULL, dataLogged = NULL,
... )
Arguments
xNames
a vector of strings containing the names of the
independent variables.
data
dataframe containing the data;
if argument data of elas.translogEst is not specified,
the data frame that was used for the estimation
is used for calculating elasticities.
coef
vector containing all coefficients:
if there are n exogenous variables in xNames,
the n+1 alpha coefficients must have names
a_0, ..., a_n
and the n*(n+1)/2 beta coefficients must have names
b_1_1, ..., b_1_n, ..., b_n_n
(only the elements of the upper right triangle of the beta matrix
are directly obtained from coef;
the elements of the lower left triangle are obtained by assuming
symmetry of the beta matrix).
coefCov
optional covariance matrix of the coefficients:
the row names and column names must be the same as the names
of coef.
dataLogged
logical. Are the values in data already logged?
If argument dataLogged of elas.translogEst is not specified,
the same value as used in translogEst for creating object
is used.
object
object of class translogEst
(returned by translogEst).
...
currently ignored.
Details
Shifter variables do not need to be specified,
because they have no effect on the elasticities.
Hence, you can use this function to calculate elasticities
even for translog functions that have been estimated
with shifter variables.
Value
A data frame containing the elasticities,
where each column corresponds to one of the independent variables.
If argument coefCov is provided, it has the attributes
variance and stdDev,
which are two data frames containing the variances
and the standard deviations, respectively, of the elasticities.
Author(s)
Arne Henningsen
See Also
translogEst and translogCalc
Examples
data( germanFarms )
# output quantity:
germanFarms$qOutput <- germanFarms$vOutput / germanFarms$pOutput
# quantity of variable inputs
germanFarms$qVarInput <- germanFarms$vVarInput / germanFarms$pVarInput
# a time trend to account for technical progress:
germanFarms$time <- c(1:20)
# estimate a quadratic production function
estResult <- translogEst( "qOutput", c( "qLabor", "land", "qVarInput", "time" ),
germanFarms )
# calculate production elasticities of all inputs
estEla <- translogEla( c( "qLabor", "land", "qVarInput", "time" ),
data = germanFarms, coef = coef( estResult ),
coefCov = vcov( estResult ) )
# all elasticities
estEla
# t-values of all elasticities
estEla / attributes( estEla )$stdDev