technical.efficiency.change {snfa} | R Documentation |
Technical and efficiency change estimation
Description
Estimates technical and efficiency change using SNFA
Usage
technical.efficiency.change(df, input.var.names, output.var.name,
firm.var.name, time.var.name, method = "u")
Arguments
df |
Data frame with variables used in estimation |
input.var.names |
Names of input variables; must appear in df |
output.var.name |
Name of output variable; must appear in df |
firm.var.name |
Name of firm variable; must appear in df |
time.var.name |
Name of time variable; must appear in df |
method |
Constraints to apply; "u" for unconstrained, "m" for monotonically increasing, and "mc" for monotonically increasing and concave |
Details
This function decomposes change in productivity into efficiency and technical change, as in
Fare et al. (1994), using smooth non-parametric frontier analysis. Denoting D_s(x_t, y_t)
as the efficiency of the production plan in year t relative to the production frontier in year s,
efficiency change for a given firm in year t is calculated as
\frac{D_{t+1}(x_{t+1}, y_{t+1})}{D_t(x_t, y_t)},
and technical change is given by
\left(
\frac{D_t(x_{t+1}, y_{t+1})}{D_{t+1}(x_{t+1}, y_{t+1})}\times
\frac{D_t(x_t, y_t)}{D_{t+1}(x_t, y_t)}
\right)^{1/2}.
Value
Returns a data.frame with the following columns
firm.var.name |
Column of firm name data |
time.var.name |
Column of time period data |
efficiency.change |
Average annual efficiency change since the previous period in data |
technical.change |
Average annual technical change since the previous period in data |
productivity.change |
Average annual productivity change since the previous period in data |
References
Fare R, Grosskopf S, Norris M, Zhang Z (1994). “Productivity Growth, Technical Progress, and Efficiency Change in Industrialized Countries.” The American Economic Review, 84(1), 66-83.
Examples
data(panel.production)
results.df <- technical.efficiency.change(df = panel.production,
input.var.names = c("X.1", "X.2", "X.3"),
output.var.name = "y",
firm.var.name = "Firm",
time.var.name = "Year")
#Plot changes over time by firm
library(ggplot2)
ggplot(results.df, aes(Year, technical.change)) +
geom_line(aes(color = Firm))
ggplot(results.df, aes(Year, efficiency.change)) +
geom_line(aes(color = Firm))
ggplot(results.df, aes(Year, productivity.change)) +
geom_line(aes(color = Firm))