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.)
Returns
translogMonoRestr returns a matrix of dimension (n⋅N)×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=2n), 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.\ xi) at one data point (e.g.\ j):
M[k,]⋅β=∂lnxi∂lnyM[k,]∗β=(dlogy)/(dlogxi)
, evaluated at x1j, , xnj, where k=(i−1)N+j. Hence, the observations run faster than the independent variables.
See Also
translogEst, translogDeriv, and translogCheckMono
Author(s)
Arne Henningsen
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)