| translogMonoRestr {micEcon} | R Documentation |
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 )
Arguments
xNames |
a vector of strings containing the names of the independent variables. |
data |
dataframe containing the data. |
dataLogged |
logical. Are the values in |
box |
logical. Should monotonicity be imposed within
an |
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 kth 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.
Author(s)
Arne Henningsen
See Also
translogEst, translogDeriv,
and translogCheckMono
Examples
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 )