Learn R Programming

Benchmarking (version 0.27)

malmquist: Malmquist index for fimrs in a panel

Description

Estimate Malmquist index for firms in a panel data set. The data set does not need to be balanced.

Usage

malmquist(X, Y, ID, TIME, RTS = "vrs", ORIENTATION = "in", SLACK = FALSE, DUAL = FALSE,
	DIRECT = NULL, param = NULL, TRANSPOSE = FALSE, FAST = TRUE, LP = FALSE, 
	CONTROL = NULL, LPK = NULL)

Arguments

X

Inputs of firms in many periods, a (T*K) x m matrix of observations of K firms with m outputs (firm x input) in at the most T periods.

Y

Outputs of firms in many periods, a (T*K) x n matrix of observations of K0 firms with n outputs (firm x input) in at the most T periods.

ID

Identifier for the firms in rows of X and Y.

TIME

Array with period number for each row in the input maxtrix X and output matrixY

RTS

Returns to scale assumption as in dea.

ORIENTATION

Input efficiency "in" (1), output efficiency "out" (2), and graph efficiency "graph" (3) as in dea.

SLACK

See dea.

DUAL

See dea.

DIRECT

See dea.

param

See dea.

TRANSPOSE

See dea.

FAST

See dea.

LP

See dea.

CONTROL

See dea.

LPK

See dea.

Value

m

Malmquist indicies, an array of length T*K in the order of ID and TIME, i.e. the order of the rows of X.

tc

Technical change indices, an array of length T*K.

ec

Efficiency indices, an array of length T*K.

id

Index for firms as ID

time

Index for time as TIME

e00

The efficiencies for period 0 with reference technoligy from period 0.

e10

The efficiencies for period 1 with reference technoligy from period 0.

e11

The efficiencies for period 1 with reference technoligy from period 1.

e01

The efficiencies for period 0 with reference technoligy from period 1.

Details

Malmquist uses malmq for the calculations of the necessary efficiencies.

References

Peter Bogetoft and Lars Otto; Benchmarking with DEA, SFA, and R; Springer 2011

See Also

dea, malmq

Examples

Run this code
# NOT RUN {
   x0 <- matrix(c(10, 28, 30, 60),ncol=1)
   y0 <- matrix(c(5, 7, 10, 15),ncol=1)
   x1 <- matrix(c(12, 26, 16, 60 ),ncol=1)
   y1 <- matrix(c(6, 8, 9, 15 ),ncol=1)

   dea.plot(x0, y0, RTS="vrs", txt=TRUE)
   dea.plot(x1, y1, RTS="vrs", add=TRUE, col="red")
   points(x1, y1, col="red", pch=16)
   text(x1, y1, 1:dim(x1)[1], col="red", adj=-1)

   X <- rbind(x0, x1)
   Y <- rbind(y0, y1)
   ID <- rep(1:dim(x1)[1], 2)
   TIME <- c(rep(0,dim(x1)[1]), rep(1,dim(x1)[1]))
   mq <- malmquist(X,Y, ID, TIME=TIME) 
   mq$tc  # Technical change
   mq$m   # Malmquist index for productivity change
# }

Run the code above in your browser using DataLab