Learn R Programming

micEcon (version 0.6-18)

translogEla: Elasticities of a translog Function

Description

Calculate the elasticities of a translog function.

Usage

translogEla( xNames, data, coef, coefCov = NULL,
   dataLogged = FALSE  )

# S3 method for translogEst elas( object, data = NULL, dataLogged = NULL, ... )

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.

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.

Author

Arne Henningsen

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.

See Also

translogEst and translogCalc

Examples

Run this code
   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

Run the code above in your browser using DataLab