translogCheckMono {micEcon} | R Documentation |
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 )
## S3 method for class 'translogCheckMono'
print( x, ... )
## S3 method for class 'translogCheckMono'
summary( object, ... )
## S3 method for class 'summary.translogCheckMono'
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 |
strict |
logical. Check for strict (TRUE) or non-strict (default, FALSE) monotonicity? |
dataLogged |
logical. Are the values in |
tol |
tolerance level for checking non-strict monotonicity:
values between |
x |
an object returned by |
object |
an object returned by |
... |
currently not used. |
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
.
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 |
strict |
argument |
Author(s)
Arne Henningsen
See Also
translogEst
, translogDeriv
,
and translogCheckCurvature
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 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 )