Learn R Programming

micEcon (version 0.6-12)

translogCheckMono: Monotonicity of a Translog Function

Description

Check monotonicity of a translog function.

Usage

translogCheckMono( xNames, data, coef, increasing = TRUE, strict = FALSE, dataLogged = FALSE, tol = 10 * .Machine$double.eps )
"print"( x, ... )
"summary"( object, ... )
"print"( x, ... )

Arguments

xNames
a vector of strings containing the names of the independent variables.
data
dataframe containing the data.
coef
vector containing all coefficients.
increasing
single logical value or vector of logical values of the same length as argument xNames indicating whether it should be checked if the translog function is monotonically increasing (default, TRUE) or decreasing (FALSE) in the explanatory variables.
strict
logical. Check for strict (TRUE) or non-strict (default, FALSE) monotonicity?
dataLogged
logical. Are the values in data already logged?
tol
tolerance level for checking non-strict monotonicity: values between -tol and tol are considered to be zero (ignored if argument strict is TRUE).
x
an object returned by translogCheckMono or by summary.translogCheckMono.
object
an object returned by translogCheckMono.
...
currently not used.

Value

translogCheckMono returns a list of class translogCheckMono containing following objects:
obs
a vector indicating whether monotonicity is fulfilled at each observation.
exog
data frame indicating whether monotonicity is fulfilled for each exogenous variable at each observation.
increasing
argument increasing.
strict
argument strict.

Details

Function translogCheckMono internally calls function translogDeriv and then checks if the derivatives have the sign specified in argument increasing.

Function translogCheckMono does not have an argument shifterNames, because shifter variables do not affect the monotonicity conditions of the eplanatory variables defined in Argument xNames. Therefore, translogCheckMono automatically removes all coefficients of the shifter variables before it calls translogDeriv.

See Also

translogEst, translogDeriv, and translogCheckCurvature

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 translog production function
   estResult <- translogEst( "qOutput", c( "qLabor", "land", "qVarInput", "time" ),
      germanFarms )

   # check whether the production function is monotonically increasing
   # in all inputs
   test <- translogCheckMono( xNames = c( "qLabor", "land", "qVarInput", "time" ),
      data = germanFarms, coef = coef( estResult ) )
   test
   summary( test )

   # check whether the production function is monotonically decreasing
   # in time and monotonically increasing in all other inputs
   test <- translogCheckMono( c( "qLabor", "land", "qVarInput", "time" ),
      germanFarms, coef( estResult ), increasing = c( TRUE, TRUE, TRUE, FALSE ) )
   test
   summary( test )

Run the code above in your browser using DataLab