dea.plot {Benchmarking} | R Documentation |
Plot of DEA technologies
Description
Draw a graph of a DEA technology. Designed for two goods illustrations, either isoquant (2 inputs), transformation curve (2 outputs), or a production function (1 input and 1 output). If the number of good is larger than 2 then aggregation occur, either simple or weighted.
Usage
dea.plot(x, y, RTS="vrs", ORIENTATION="in-out", txt=NULL, add=FALSE,
wx=NULL, wy=NULL, TRANSPOSE=FALSE, fex=1, GRID=FALSE,
RANGE=FALSE, param=NULL, ..., xlim, ylim, xlab, ylab)
dea.plot.frontier(x, y, RTS="vrs",...)
dea.plot.isoquant(x1, x2, RTS="vrs",...)
dea.plot.transform(y1, y2, RTS="vrs",...)
Arguments
x |
The good illustrated on the first axis. If there are more
than 1 input then inputs are just summed or, if |
y |
The good illustrated on the second axis. If there are more
than 1 output then outputs are just summed or, if |
x1 , y1 |
The good illustrated on the first axis |
x2 , y2 |
The good illustrated on the second axis |
RTS |
Underlying DEA model / assumptions about returns to
scale: "fdh" (0), "vrs" (1), "drs" (2), "crs" (3), "irs" (4),
"irs2" (5) (irs without convexity), "add" (6), and "fdh+" (7).
Numbers in parenthesis can also be used as values for
|
ORIENTATION |
Input-output graph of 1 input and 1 output is "in-out" (0), graph of 2 inputs is "in" (1), and graph of 2 outputs is "out" (2). |
txt |
|
add |
For |
wx |
Weight to aggregate the first axis if there are more than 1 good behind the first axis. |
wy |
Weights to aggregate for the second axis if there are more than 1 good behind the second the second axis. |
TRANSPOSE |
Only relevant for more than 1 good for each axis,
see |
GRID |
If |
... |
Usual options for the methods |
fex |
Relative size of the text/labels on observations;
corresponds to |
RANGE |
A logical variable, if |
param |
Possible parameters. At the moment only used for
RTS="fdh+"; see the section details and examples for its
use. Future versions might also use |
xlim |
Possible limits |
ylim |
Possible limits |
xlab |
Possible label for the x-axis |
ylab |
Possible label for the y-axis |
Details
The method dea.plot
is the general plotting
method. The the 3 others are specialized versions for frontiers (1
input and 1 output), isoquant curves (2 inputs for given outputs),
and transformation curves (2 outputs for given inputs) obtained by
using the argument ORIENTATION
.
The crs factor in RTS="fdh+" that sets the lower and upper bound
can be changed by the argument param
that will set the lower
and upper bound to 1-param and 1+param; the default value is
param=.15. The value must be greater than or equal to 0 and
strictly less than 1. A value of 0 corresponds to RTS="fdh". The
FDH+ technology set is described in Bogetoft and Otto (2011) pages
72–73.
Value
No return, uses the original graphing system.
Note
If there are more than 1 good for the arguments x
and
y
then the goods are just summed or, if wx
or
wy
are present, weighted sum of goods are used. In this
case the use of the command identify
must be called as
dea.plot(rowSums(x),rowSums(y))
.
Warning If you use this facility to plot multi input and multi output then the plot may deceive you as fully multi efficient firms are not necessarily placed on the two dimensional frontier.
Note that RTS="add"
and RTS="fdh+"
only works for
ORIENTATION="in-out"
(0).
Author(s)
Peter Bogetoft and Lars Otto larsot23@gmail.com
References
Peter Bogetoft and Lars Otto; Benchmarking with DEA, SFA, and R; Springer 2011
Paul Murrell; R Graphics; Chapman & Hall 2006
See Also
The documentation for the function plot
and Murrell
(2006) for further options and on customizing plots.
Examples
x <- matrix(c(100,200,300,500,600,100),ncol=1)
y <- matrix(c(75,100,300,400,400,50),ncol=1)
dea.plot(x,y,RTS="vrs",ORIENTATION="in-out",txt=LETTERS[1:length(x)])
dea.plot(x,y,RTS="crs",ORIENTATION="in-out",add=TRUE,lty="dashed")
dea.plot.frontier(x,y,txt=1:dim(x)[1])
n <- 10
x <- matrix(1:n,,1)
y <- matrix(x^(1.6) + abs(rnorm(n)),,1)
dea.plot.frontier(x,y,RTS="irs",txt=1:n)
dea.plot.frontier(x,y,RTS="irs2",add=TRUE,lty="dotted")
# Two different forms of irs: irs and irs2, and two different ways to
# make a frontier
id <- sample(1:n,30,replace=TRUE)
dea.plot(x[id],y[id],RTS="irs",ORIENTATION="in-out")
dea.plot.frontier(x[id],y[id],RTS="irs2")
# Difference between the FDH technology and the additive
# FRH technology
x <- matrix(c(100,220,300,520,600,100),ncol=1)
y <- matrix(c(75,100,300,400,400,50),ncol=1)
dea.plot(x,y,RTS="fdh",ORIENTATION="in-out",txt=LETTERS[1:length(x)])
dea.plot(x,y,RTS="add",ORIENTATION="in-out",add=TRUE,lty="dashed",lwd=2)
dea.plot(x,y,RTS="fdh+",ORIENTATION="in-out",add=TRUE,
lty="dotted",lwd=3,col="red")
# Use of parameter in FDH+
dea.plot(x,y,RTS="fdh",ORIENTATION="in-out",txt=LETTERS[1:length(x)])
dea.plot(x,y,RTS="fdh+",ORIENTATION="in-out",add=TRUE,lty="dashed")
dea.plot(x,y,RTS="fdh+",ORIENTATION="in-out",add=TRUE,lty="dotted",param=.5)