translogMonoRestr {micEcon} | R Documentation |
Create matrix to check or impose the monotonicity restrictions of a translog function.
translogMonoRestr( xNames, data, quadHalf = TRUE, dataLogged = FALSE, box = FALSE )
xNames |
a vector of strings containing the names of the independent variables. |
data |
dataframe containing the data. |
quadHalf |
logical. Multiply the quadratic terms by one half? |
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.) |
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 = n^2),
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 (β)
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 β = frac{ partial ln y }{ partial ln x_i},
evaluated at x_{1j}, ..., x_{nj}, where k = ( i - 1 ) N + j.
Arne Henningsen
translogEst
, translogDeriv
,
and translogCheckMono
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 )