Learn R Programming

micEcon (version 0.6-18)

translogMonoRestr: Monotonicity Restrictions of a Translog Function

Description

Create matrix to check or impose the monotonicity restrictions of a translog function.

Usage

translogMonoRestr( xNames, data,
   dataLogged = FALSE, box = FALSE )

Value

translogMonoRestr returns a matrix of dimension

\(( n \cdot N ) \times c\), where \(n\) is the number of independent varables,

\(N\) is the number of data points at which monotonicity should be imposed (if argument box is FALSE,

\(N\) is the number of rows in data; if argument box is TRUE, \(N = 2^n\)), and \(c = 1 + n ( n + 3 ) / 2\) is the number of (linearly independent) coefficients. Multiplying a row of this matrix (e.g.\ the \(k\)th row of \(M\)) by the vector of coefficients (\(\beta\)) results in the derivative of the dependent variable (\(y\)) with respect to one independent variable (e.g.\ \(x_i\)) at one data point (e.g.\ \(j\)):

$$M[k,] \cdot \beta = \frac{ \partial \ln y }{ \partial \ln x_i}$$, evaluated at \(x_{1j}\), ..., \(x_{nj}\), where \(k = ( i - 1 ) N + j\). Hence, the observations run faster than the independent variables.

Arguments

xNames

a vector of strings containing the names of the independent variables.

data

dataframe containing the data.

dataLogged

logical. Are the values in data already logged?

box

logical. Should monotonicity be imposed within an \(n\)-dimensional box that includes all points in data? If FALSE, monotonicity is imposed (only) within an \(n\)-dimensional polygon that includes all points in data. (\(n\) is the number of independent varables.)

Author

Arne Henningsen

See Also

translogEst, translogDeriv, and translogCheckMono

Examples

Run this code
   data( germanFarms )
   # quantity of variable inputs
   germanFarms$qVarInput <- germanFarms$vVarInput / germanFarms$pVarInput

   # matrix to check or impose monotonicity at all observations
   monoRestrObs <- translogMonoRestr( c( "qLabor", "land", "qVarInput" ),
      germanFarms )

   # matrix to check or impose monotonicity within a box that includes all 
   # observations
   monoRestrBox <- translogMonoRestr( c( "qLabor", "land", "qVarInput" ),
      germanFarms, box = TRUE )

Run the code above in your browser using DataLab