Package 'nonparaeff'

Title: Nonparametric Methods for Measuring Efficiency and Productivity
Description: Efficiency and productivity indices are measured using this package. This package contains functions for measuring efficiency and productivity of decision making units (DMUs) under the framework of Data Envelopment Analysis (DEA) and its variations.
Authors: Dong-hyun Oh <[email protected]>, Dukrok Suh <[email protected]>
Maintainer: Dong-hyun Oh <[email protected]>
License: GPL (>= 2)
Version: 0.5-13
Built: 2025-03-08 03:30:55 UTC
Source: https://github.com/arecibo/nonparaeff

Help Index


Linear Programming for the Additive Model

Description

Solve the Additive Model under the VRS assumption

Usage

additive(base = NULL, frontier = NULL, noutput = 1)

Arguments

base

A data set for DMUs to be evaluated. A data frame with J1*(M+N) dimention, where J1 is the number of DMUs, M for the number of inputs, and N for the number of outputs.

frontier

A data set for DMUs to be used in constructing a production possibility set (PPS). A data frame with J2*(M+N) dimention, where J2 is the number of DMUs, M for the number of inputs, and N for the number of outputs.

noutput

The number of outputs (N).

Details

The additive model under the VRS assumption is as follows:

θADDk=maxλ,s+,s(m=1Msm+n=1Nsn+)\theta^{k*}_{ADD} = \max_{\lambda, s^+, s^-} \left( \sum_{m=1}^M s^-_m + \sum_{n=1}^N s^+_n \right)

s.t.  xmk=j=1Jxmjλj+sn (m=1,2,,M);s.t.~~ x^k_m = \sum_{j=1}^J x_m^j \lambda^j + s^-_n ~ (m = 1, 2, \cdots, M);

      ynk=j=1Jynjλj+sn (n=1,2,,N);~~~~~~ y^k_n = \sum_{j=1}^J y_n^j \lambda^j + s^-_n ~ (n = 1, 2, \cdots, N);

      j=1Jλj=1;~~~~~~\sum_{j=1}^J \lambda^j = 1;       λj0 (j=1,2,,J); sm0 (m=1,2,,M); sn+0 (n=1,2,,N).~~~~~~\lambda^j \geq 0~ (j = 1, 2, \cdots, J);~ s^-_m \geq 0~ (m = 1, 2, \cdots, M);~ s^+_n \geq 0~ (n = 1, 2, \cdots, N).

Value

A data frame with J1*(J1+M+N), which has efficiency scores, optimal weightes and optimal slacks. Take a look at the example below.

Author(s)

Dong-hyun Oh, [email protected]

References

Cooper, W., Seiford, L. and Tone, K. (2007). Data envelopment analysis: a comprehensive text with models, applications, references and DEA-solver software (2nd ed.). Springer Verlag, New York.

Lee, J. and Oh, D. (forthcoming). Efficiency Analysis: Data Envelopment Analysis. Press (in Korean).

See Also

sbm.tone, sbm.vrs

Examples

## Simple Example
my.dat <- data.frame(y = c(1, 2, 4, 6, 7, 9, 9),
                     x = c(3, 2, 6, 4, 8, 8, 10))
(re <- additive(my.dat, noutput = 1))

## Property of the Additive Model
dat1 <- data.frame(y = c(1, 1, 1, 1, 1, 1),
                        x1 = c(2, 3, 6, 3, 6, 6),
                        x2 = c(5, 3, 1, 8, 4, 2))
dat2 <- dat1 
dat2$x1 <- dat2$x1 * 10 
dat3 <- dat1 
dat3$x1 <- dat3$x1 + 10 
(re1 <- additive(dat1, noutput = 1))
(re2 <- additive(dat2, noutput = 1))
(re3 <- additive(dat3, noutput = 1))

Assurance Region Data Envelopment Aanlysis (AR-DEA)

Description

Solve the AR-DEA

Usage

ar.dual.dea(base = NULL, frontier = NULL,
           noutput = 1, orientation=1, rts = 1, ar.l = NULL,
           ar.r = NULL, ar.dir = NULL, dual = FALSE)

Arguments

base

A data set for DMUs to be evaluated. A data frame with J1*(M+N) dimention, where J1 is the number of DMUs, M for the number of inputs, and N for the number of outputs.

frontier

A data set for DMUs to be used in constructing a production possibility set (PPS). A data frame with J2*(M+N) dimention, where J2 is the number of DMUs, M for the number of inputs, and N for the number of outputs.

noutput

The number of outputs (N).

orientation

Orientation of measurement. 1 for the input-oriented measure, and 2 for the output-oriented measure.

rts

Returns to scale. 1 for the CRS assumption, and 2 for the VRS assumption.

ar.l

A data frame for the assurance region of which is the left-hand.

ar.r

A vector for the assurance region of which is the right-hand.

ar.dir

A vector for the assurance region of which is the direction.

dual

Logical.

Details

The AR model under the CRS assumption is calculated. For model specification, take a look at Cooper et al. (2007).

Value

A data frame with J1*(M+N), which has efficiency scores, optimal virtual prices. Take a look at the example below.

Author(s)

Dong-hyun Oh, [email protected]

References

Cooper, W., Seiford, L. and Tone, K. (2007). Data envelopment analysis: a comprehensive text with models, applications, references and DEA-solver software (2nd ed.). Springer Verlag, New York.

Lee, J. and Oh, D. (forthcoming). Efficiency Analysis: Data Envelopment Analysis. Press (in Korean).

See Also

dea, dual.dea

Examples

## AR constraint of 0.25 <= v2/v1 <= 1.
library(Hmisc)
library(lpSolve)
ar.dat <- data.frame(y = c(1, 1, 1, 1, 1, 1),
                     x1 = c(2, 3, 6, 3, 6, 6),
                     x2 = c(5, 3, 1, 8, 4, 2))
(re <-
ar.dual.dea(ar.dat, noutput = 1, orientation = 1, rts = 1, ar.l =
matrix(c(0, 0, 0.25, -1, -1, 1), nrow = 2, ncol = 3), ar.r = c(0, 0),
ar.dir = c("<=", "<=")))

Linear Programming for Cost Minimization

Description

Solve the Cost Minimization Probem with Given Input Prices

Usage

cost.dea(base = NULL, frontier = NULL, noutput = 1, input.price = NULL)

Arguments

base

A data set for DMUs to be evaluated. A data frame with J1*(M+N) dimention, where J1 is the number of DMUs, M for the number of inputs, and N for the number of outputs.

frontier

A data set for DMUs to be used in constructing a production possibility set (PPS). A data frame with J2*(M+N) dimention, where J2 is the number of DMUs, M for the number of inputs, and N for the number of outputs.

noutput

The number of outputs (M).

input.price

A vector for market prices of input factors.

Details

The cost minimization problem under the CRS assumption is calculated. For model specification, take a look at Cooper et al. (2007).

Value

A data frame with J1*(M+6), which has optimal M input factors, minimized cost when overally efficient, minimized cost when technically-efficient, revealed cost, overall efficiency, allocative efficiency, and technical efficiency.

Author(s)

Dong-hyun Oh, [email protected]

References

Cooper, W., Seiford, L. and Tone, K. (2007). Data envelopment analysis: a comprehensive text with models, applications, references and DEA-solver software (2nd ed.). Springer Verlag, New York.

Lee, J. and Oh, D. (forthcoming). Efficiency Analysis: Data Envelopment Analysis. Press (in Korean).

See Also

revenue.dea

Examples

dat.io <- data.frame(y = c(1, 1, 1, 1, 1, 1, 1),
                          x1 = c(2, 3, 5, 9, 6, 3, 8),
                          x2 = c(8, 6, 3, 2, 7, 9, 4))
dat.wm<- c(w1 = 1, w2 = 2)      ## market prices of input factors
(re <- cost.dea(base = dat.io, noutput = 1, input.price = dat.wm))

Linear Programming for the Directional Distance Function

Description

Solve the Additive Model under the VRS assumption

Usage

ddf(base = NULL, frontier = NULL, noutput = 1, direction = NULL)

Arguments

base

A data set for DMUs to be evaluated. A data frame with J1*(M+N) dimention, where J1 is the number of DMUs, M for the number of inputs, and N for the number of outputs.

frontier

A data set for DMUs to be used in constructing a production possibility set (PPS). A data frame with J2*(M+N) dimention, where J2 is the number of DMUs, M for the number of inputs, and N for the number of outputs.

noutput

The number of outputs (N).

direction

A directional vector for inputs and outputs.

Details

The DDF under the VRS assumption is calculated. For model specification, take a look at Cooper et al. (2007).

Value

A data frame with J1*(J1+M+N), of which has efficiency scores, optimal weightes and optimal slacks. Take a look at the example below.

Author(s)

Dong-hyun Oh, [email protected]

References

Cooper, W., Seiford, L. and Tone, K. (2007). Data envelopment analysis: a comprehensive text with models, applications, references and DEA-solver software (2nd ed.). Springer Verlag, New York.

Lee, J. and Oh, D. (forthcoming). Efficiency Analysis: Data Envelopment Analysis. Press (in Korean).

See Also

direc.dea

Examples

## Simple Example of one input and one output.
my.dat <- data.frame(y = c(1, 2, 4, 6, 7, 9, 9),
                     x = c(3, 2, 6, 4, 8, 8, 10))
(re <- ddf(my.dat, noutput = 1, direction = c(1, 1)))

Linear Programming for the Data Envelopment Analysis

Description

Solve input(output)-oriented DEA under the CRS (VRS)

Usage

dea(base = NULL, frontier = NULL, noutput = 1, orientation=1, rts = 1, onlytheta = FALSE)

Arguments

base

A data set for DMUs to be evaluated. A data frame with J1*(M+N) dimention, where J1 is the number of DMUs, M for the number of inputs, and N for the number of outputs.

frontier

A data set for DMUs to be used in constructing a production possibility set (PPS). A data frame with J2*(M+N) dimention, where J2 is the number of DMUs, M for the number of inputs, and N for the number of outputs.

noutput

The number of outputs (N).

orientation

Orientation of measurement. 1 for the input-oriented measure, and 2 for the output-oriented measure.

rts

Returns to scale. 1 for the CRS assumption, and 2 for the VRS assumption.

onlytheta

Logical. If onlytheta is TRUE, then only efficiency scores are obtained. If it is FALSE, then optimal lambda's and slacks are also obtained.

Details

The input (output) -oriented DEA under the CRS (VRS) assumption are calcuated. For model specification, take a look at Cooper et al. (2007).

Value

If onlytheta is TRUE, then a (J1*1) data.frame is obtained. If onlytheta if FALSE, then a data frame with a J1*(J1+M+N) dimension is obtained, in which optimal weights, input slacks and output slacks are presented.

Author(s)

Dong-hyun Oh, [email protected]

References

Cooper, W., Seiford, L. and Tone, K. (2007). Data envelopment analysis: a comprehensive text with models, applications, references and DEA-solver software (2nd ed.). Springer Verlag, New York.

Lee, J. and Oh, D. (forthcoming). Efficiency Analysis: Data Envelopment Analysis. Press (in Korean)

See Also

dual.dea

Examples

## input-oriented DEA under the CRS assumption (1 input and 1 output)
tab3.1.dat <- data.frame(y = c(1, 2, 4, 6, 7, 9, 9), 
                         x = c(3, 2, 6, 4, 8, 8, 10))
(re <- dea(base = tab3.1.dat, noutput = 1, orientation = 1, rts = 1,
onlytheta = FALSE))

## input-oriented DEA under the CRS assumption (2 inputs and 1 output)
tab3.3.dat <- data.frame(y = c(1, 1, 1, 1, 1, 1),
                              x1 = c(1, 3, 6, 2, 5, 9),
                              x2 = c(4, 1, 1, 8, 5, 2))
re <- dea(base=tab3.3.dat, noutput = 1, orientation = 1, rts = 1)
## finding references points
(ref <- data.frame(y = c(tab3.3.dat$y + re$slack.y1),
x1 = c(tab3.3.dat$x1 * re$eff - re$slack.x1),
x2 = c(tab3.3.dat$x2 * re$eff - re$slack.x2)))


## output-oriented DEA under the CRS assumption (1 input and 2 outputs)
tab5.1.dat <- data.frame(y1 = c(4, 8, 8, 4, 3, 1),
                         y2 = c(9, 6, 4, 3, 5, 6),
                         x = c(1, 1, 1, 1, 1, 1))
(re <- dea(tab5.1.dat, noutput = 2, orientation = 2, rts = 1))

## input-oriented DEA under the VRS assumption (1 input and 1 output)
tab6.1.dat <- data.frame(y = c(1, 2, 4, 6, 7, 9, 9),
                              x = c(3, 2, 6, 4, 8, 8, 10))
(re <- dea(tab6.1.dat, noutput = 1, orientation = 1, rts = 2))

## output-oriented DEA under the VRS assumtion (1 input and 1 output)
(re <- dea(tab6.1.dat, noutput = 1, orientation = 2, rts = 2))

## scale efficiency
re.crs <-
    dea(tab6.1.dat, noutput = 1, orientation = 1, rts = 1,onlytheta = TRUE)
re.vrs<-
    dea(tab6.1.dat, noutput = 1, orientation = 1, rts = 2,
         onlytheta = TRUE)
scale.eff <- re.crs/re.vrs

## finding DRS, IRS, CRS
dat6.1 <- data.frame(y = c(1, 2, 4, 6, 7, 9, 9),
     x = c(3, 2, 6, 4, 8, 8, 10))
re <- dea(dat6.1, noutput = 1, rts = 1)
lambdas <- re[, 2:8]
apply(lambdas, 1, sum)

Linear Programming for the Directional Distance Function with Undesirable Outputs

Description

Solve the DDF with undesirable outputs. The directional vecor is (y's, b's).

Usage

direc.dea(base = NULL, frontier = NULL, ngood = 1, nbad = 1)

Arguments

base

A data set for DMUs to be evaluated. A data frame with J1*(M+P+Q) dimention, where J1 is the number of DMUs, M for the number of inputs, P for the number of good outputs, and Q for the undesirable outputs.

frontier

A data set for DMUs to be used in constructing a production possibility set (PPS). A data frame with J2*(M+P+Q) dimention, where J2 is the number of DMUs, M for the number of inputs, P for the number of good outputs, and Q for the undesirable outputs

ngood

The number of good outputs (P).

nbad

The number of bad outputs (Q).

Details

The DDF with undesirable outputs under the CRS assumption is calculated. For model specification, take a look at Chung et al. (1997).

Value

A J1 vector of which is inefficiency score.

Author(s)

Dong-hyun Oh, [email protected]

References

Chung, Y. Fare, R. and Grosskopf, S. (1997). Productivity and undesirable outputs: A directional distance function approach. Journal of Environmental Management 51(3):229-240.

Cooper, W., Seiford, L. and Tone, K. (2007). Data envelopment analysis: a comprehensive text with models, applications, references and DEA-solver software (2nd ed.). Springer Verlag, New York.

Lee, J. and Oh, D. (forthcoming). Efficiency Analysis: Data Envelopment Analysis. Press (in Korean).

See Also

ddf

Examples

## Simple Example of one input, one good output, and one bad output.
my.dat <- data.frame(yg = c(2, 5, 7, 8, 3, 4, 6),
                     yb = c(1, 2, 4, 7, 4, 5, 6),
                     x = c(1, 1, 1, 1, 1, 1, 1))
direc.dea(my.dat, ngood = 1, nbad = 1)

Linear Programming for the Dual Data Envelopment Analysis

Description

Solve the Dual DEA

Usage

dual.dea(base = NULL, frontier = NULL, noutput = 1, orientation=1, rts = 1)

Arguments

base

A data set for DMUs to be evaluated. A data frame with J1*(M+N) dimention, where J1 is the number of DMUs, M for the number of inputs, and N for the number of outputs.

frontier

A data set for DMUs to be used in constructing a production possibility set (PPS). A data frame with J2*(M+N) dimention, where J2 is the number of DMUs, M for the number of inputs, and N for the number of outputs.

noutput

The number of outputs (N).

orientation

Orientation of measurement. 1 for the input-oriented measure, and 2 for the output-oriented measure.

rts

Returns to scale. 1 for the CRS assumption, and 2 for the VRS assumption.

Details

The input-oriented dual DEA under the CRS assumption is calculated. For model specification, take a look at Cooper et al. (2007).

Value

A data frame with J1*(1+M+N) dimension, of which has efficiency scores, optimal virtual prices for inputs and outputs.

Author(s)

Dong-hyun Oh, [email protected]

References

Cooper, W., Seiford, L. and Tone, K. (2007). Data envelopment analysis: a comprehensive text with models, applications, references and DEA-solver software (2nd ed.). Springer Verlag, New York.

Lee, J. and Oh, D. (forthcoming). Efficiency Analysis: Data Envelopment Analysis. Press (in Korean).

See Also

dea

Examples

## An output-oriented primal problem with 1 input and 2 outputs
tab5.1.dat <- data.frame(y1 = c(4, 8, 8, 4, 3, 1),
                               y2 = c(9, 6, 4, 3, 5, 6),
                               x = c(1, 1, 1, 1, 1, 1))
(re <- dea(tab5.1.dat, noutput = 2, orientation = 2, rts = 1))

## An output-oriented dual problem with 1 input and 2 outputs
re <- dual.dea(tab5.1.dat, noutput = 2, orientation = 2, rts = 1)

Linear Programming for the Data Envelopment Analysis

Description

Solve input(output)-oriented DEA under the CRS (VRS) with convexhull. Do not use when the total number of inputs and outputs are greater than eight. If used, it may take more than hundreds day to get results.

Usage

effdea.b.f(base = NULL, frontier = NULL, noutput = 1,
                       orientation=1, rts = 1, convhull = TRUE)

Arguments

base

A data set for DMUs to be evaluated. A data frame with J1*(M+N) dimention, where J1 is the number of DMUs, M for the number of inputs, and N for the number of outputs.

frontier

A data set for DMUs to be used in constructing a production possibility set (PPS). A data frame with J2*(M+N) dimention, where J2 is the number of DMUs, M for the number of inputs, and N for the number of outputs.

noutput

The number of outputs (N).

orientation

Orientation of measurement. 1 for the input-oriented measure, and 2 for the output-oriented measure.

rts

Returns to scale. 1 for the CRS assumption, and 2 for the VRS assumption.

convhull

Logical. If this is TRUE, very efficient calculation of efficiency score is used. However, when the total number of inputs and outputs is larger than eight, it is very slow for this option. In cases when the total number of inputs and outputs is larger than eight, use FALSE for this argument.

Details

This function uses the convhull function in geometry package. After finding convex hull of frontier by using the convhull function. points on the convex hull are used in constructing the second production possibility set (PPS). Then efficiency scores in base are calculated based on the second PPS.

Value

A data frame with J1*1 dimension, which shows efficiency scores.

Author(s)

Dong-hyun Oh, [email protected]

References

Cooper, W., Seiford, L. and Tone, K. (2007). Data envelopment analysis: a comprehensive text with models, applications, references and DEA-solver software (2nd ed.). Springer Verlag, New York.

Lee, J. and Oh, D. (forthcoming). Efficiency Analysis: Data Envelopment Analysis. Press (in Korean)

See Also

dual.dea

Examples

## input-oriented DEA under the CRS assumption (1 input and 1 output)
tab3.1.dat <- data.frame(y = c(1, 2, 4, 6, 7, 9, 9), 
                         x = c(3, 2, 6, 4, 8, 8, 10))
(re <- effdea.b.f(base = tab3.1.dat, noutput = 1, orientation = 1, rts =
1, convhull = TRUE))

Linear Programming for the Malmquist Productivity Growth Index

Description

Calculate productivity growth index under the DEA framework.

Usage

faremalm2(dat = NULL, noutput = 1, id = "id", year = "year")

Arguments

dat

A data frame to be evaluated. The format of this data frame is data.frame(id, year, outputs, inputs). This data frame should have a balanced panel data form.

noutput

The number of outputs.

id

A column name for the producer index.

year

A column name for the time index.

Details

The Malmquist productivity growth index is calculated. For model specification, take a look at Fare et al. (1994).

Value

A data frame with ( id: the id index of the original data. time: the time index of the original data. y's: original outputs x's: original inputs Dt2t2: Dt+1(xt+1,yt+1)D^{t+1} (x^{t+1}, y^{t+1}) Dtt2: Dt(xt+1,yt+1)D^{t} (x^{t+1}, y^{t+1}) Dt2t: Dt+1(xt,yt)D^{t+1} (x^t, y^t) ec: efficiency change tc: technical change pc: productivity change

Author(s)

Dong-hyun Oh, [email protected]

References

Cooper, W., Seiford, L. and Tone, K. (2007). Data envelopment analysis: a comprehensive text with models, applications, references and DEA-solver software (2nd ed.). Springer Verlag, New York.

Fare, R., Grosskopf, S., Norris, M. and Zhang, Z. (1994). Productivity growth, technical progress and efficiency change in industrialized countries. American Economic Review, 84(1):66-83.

Lee, J. and Oh, D. (forthcoming). Efficiency Analysis: Data Envelopment Analysis. Press (in Korean).

See Also

dea

Examples

malm.dat <- data.frame(id = rep(LETTERS[1:3], 3),
       time = rep(1:3, each = 3),
                       y = c(1, 2, 2, 3, 2, 8, 3, 2, 5),
                       x = c(2, 3, 7, 3, 5, 6, 8, 9, 6))

malm.re1 <- faremalm2(malm.dat, noutput = 1, id = "id", year = "time")


## Malmquist productivity growth index of OECD countries
library(pwt)       ## Use Penn World Table
library(psych)
my.dat <- pwt5.6    
head(my.dat)        
my.oecd.ctry <- c("AUS", "AUT", "BEL", "CAN", "CHE", "DNK", "ESP",
                    "FIN", "FRA", "GBR", "GER", "GRC", "IRL", "ISL",
                    "ITA", "JPN", "KOR", "LUX", "MEX", "NLD", "NOR",
                    "NZL", "PRT", "SWE", "TUR", "USA", "DEU")
my.dat <- my.dat[my.dat$wbcode %in% my.oecd.ctry,]
my.dat <- my.dat[my.dat$year %in% 1980:1990,]
my.dat$rgdpl <- as.numeric(my.dat$rgdpl) ## GDP per capita
my.dat$pop <- as.numeric(my.dat$pop) ## total population (1000)
my.dat$rgdpwok <- as.numeric(my.dat$rgdpwok) ## GDP per labor
my.dat$kapw <- as.numeric(my.dat$kapw)  ## Capital stock per labor
my.dat$gdp <- my.dat$rgdpl * my.dat$pop ## Total GDP of a country
my.dat$labor <- with(my.dat, gdp/rgdpwok) ## Total labor force
my.dat$capital <- with(my.dat, kapw * labor) ## Toal capital stock
oecd <- my.dat[, c("wbcode", "year", "gdp", "labor", "capital")] 
re.oecd <- faremalm2(dat = oecd, noutput = 1, id = "wbcode", year =
"year")
## productivity growth for each country
pc.c <- tapply(re.oecd$pc, re.oecd$wbcode, geometric.mean)
## a trend of productivity growth of OECD countries
pc.y <- tapply(re.oecd$pc, re.oecd$year, geometric.mean)
## efficiency change for each country
ec.c <- tapply(re.oecd$ec, re.oecd$wbcode, geometric.mean)
## a trend of efficiency change of OECD countries
ec.y <- tapply(re.oecd$ec, re.oecd$year, geometric.mean)

Linear Programming for the Free Disposable Hull

Description

Solve input(output)-oriented FDH

Usage

fdh(base = NULL, frontier = NULL, noutput = 1, orientation=1)

Arguments

base

A data set for DMUs to be evaluated. A data frame with J1*(M+N) dimention, where J1 is the number of DMUs, M for the number of inputs, and N for the number of outputs.

frontier

A data set for DMUs to be used in constructing a production possibility set (PPS). A data frame with J2*(M+N) dimention, where J2 is the number of DMUs, M for the number of inputs, and N for the number of outputs.

noutput

The number of outputs (N).

orientation

Orientation of measurement. 1 for the input-oriented measure, and 2 for the output-oriented measure.

Details

The input (output) -oriented FDH is calculated.

Value

A data frame of J1*1 dimention which shows efficiency scores.

Author(s)

Dong-hyun Oh, [email protected]

References

Cooper, W., Seiford, L. and Tone, K. (2007). Data envelopment analysis: a comprehensive text with models, applications, references and DEA-solver software (2nd ed.). Springer Verlag, New York.

Lee, J. and Oh, D. (forthcoming). Efficiency Analysis: Data Envelopment Analysis. Press (in Korean).

See Also

dea, orderm

Examples

## input-oriented FDH with 1 input and 1 output.
tab7.1.dat <- data.frame(y = c(1, 2, 4, 6, 7, 9, 9),
                              x = c(3, 2, 6, 4, 8, 8, 10))
(re <- fdh(tab7.1.dat, noutput = 1, orientation = 1))

## input-oriented FDH with 2 input and 1 output.
tab7.10.dat <- data.frame(y = c(1, 1, 1, 1, 1, 1),
                               x1 = c(2, 3, 6, 3, 6, 6),
                               x2 = c(5, 3, 1, 8, 4, 2))
(re <- fdh(tab7.10.dat, noutput = 1, orientation = 1))

Linear Programming for the Data Envelopment Analysis with Integer-valued Inputs.

Description

Solve input-oriented DEA under the CRS

Usage

int.dea(base = NULL, frontier = NULL, noutput = 1, intinput = 1,
orientation=1, epsilon = 1e-06)

Arguments

base

A data set for DMUs to be evaluated. A data frame with J1*(M+N) dimention, where J1 is the number of DMUs, M for the number of inputs, and N for the number of outputs.

frontier

A data set for DMUs to be used in constructing a production possibility set (PPS). A data frame with J2*(M+N) dimention, where J2 is the number of DMUs, M for the number of inputs, and N for the number of outputs.

noutput

The number of outputs (N).

intinput

The number of integer inputs.

orientation

Orientation of measurement. 1 for the input-oriented measure, and 2 for the output-oriented measure. This argument is ignored.

epsilon

Non-Armechidean number. Use the default value.

Details

The input-oriented IDEA under the CRS assumption is calcualted. See Kuosmanen and Matin (2009).

Value

A data frame of J1*(1+J1+N+M+Q+Q), which shows efficiency scores, optimal weightes, optimal slacks for outputs and inputs, optiaml slacks for integer-valued inputs, and optimal integer inputs.

Author(s)

Dong-hyun Oh, [email protected]

References

Kuomanen, T. and Matin, R. (2009). Theory of integer-valued data envelopment analysis. European Journal of Operational Research 192(2):658-667

Lee, J. and Oh, D. (forthcoming). Efficiency Analysis: Data Envelopment Analysis. Press (in Korean).

See Also

dea

Examples

int.dat <- data.frame(y = c(1, 1, 1, 1, 1),
                      x1 = c(2, 7, 3, 7, 9),
                      x2 = c(4, 1, 4, 2, 4))
int.dea(int.dat, noutput = 1, intinput = 1)

Linear Programming with Free Variables

Description

Solve LP with free variables

Usage

lp2(direction = "min", objective.in, const.mat, const.dir, 
    const.rhs, free.var = NULL)

Arguments

direction

Character string giving direction of optimization: "min" (default) or "max."

objective.in

Numeric vector of coefficients of objective function

const.mat

Matrix of numeric constraint coefficients, one row per constraint, one column per variable (unless transpose.constraints = FALSE; see below).

const.dir

Vector of character strings giving the direction of the constraint: each value should be one of "<," "<=," "=," "==," ">," or ">=". (In each pair the two values are identical.)

const.rhs

Vector of numeric values for the right-hand sides of the constraints.

free.var

Vector of numeric values for indicating free variables. If this argument is NULL, no free variables is included.

Details

lp2 extends lpSolve::lp() to incorporate free variables easily.

Value

An lp object. See 'lp.object' for details.

Author(s)

Dong-hyun Oh, [email protected]

See Also

lp

Examples

# Set up problem: maximize
     #   x1 + 9 x2 +   x3 subject to
     #   x1 + 2 x2 + 3 x3  <= 9
     # 3 x1 + 2 x2 + 2 x3 <= 15
     #
     f.obj <- c(1, 9, 3)
     f.con <- matrix (c(1, 2, 3, 3, 2, 2), nrow=2, byrow=TRUE)
     f.dir <- c("<=", "<=")
     f.rhs <- c(9, 15)
     #
     # Now run.
     #
     lp2("max", f.obj, f.con, f.dir, f.rhs)
     lp2("max", f.obj, f.con, f.dir, f.rhs, free.var = c(0, 1, 0))

Efficiency Measures with the order-m Method.

Description

Calculate order-m efficiency scores

Usage

orderm(base = NULL, frontier = NULL, noutput = 1, orientation=1, M = 25, B = 500)

Arguments

base

A data set for DMUs to be evaluated. A data frame with J1*(M+N) dimention, where J1 is the number of DMUs, M for the number of inputs, and N for the number of outputs.

frontier

A data set for DMUs to be used in constructing a production possibility set (PPS). A data frame with J2*(M+N) dimention, where J2 is the number of DMUs, M for the number of inputs, and N for the number of outputs.

noutput

The number of outputs (N).

orientation

Orientation of measurement. 1 for the input-oriented measure, and 2 for the output-oriented measure.

M

The number of elements in each of the bootstrapped samples.

B

The number of bootstap replicates

Details

See Simar (2003).

Value

A data frame with J1*1 dimention, which shows efficiency scores.

Author(s)

Dong-hyun Oh, [email protected]

References

Lee, J. and Oh, D. (forthcoming). Efficiency Analysis: Data Envelopment Analysis. Press (in Korean).

Simar, L. (2003). Detecting outliers in frontier models: A simple approach. Journal of Productivity Analysis, 20(3):391-424.

See Also

fdh

Examples

x <- abs(runif(200, min = 0.1, max = 4)) 
y <- 3*x*abs(rnorm(200))
dat.orderm <- data.frame(y = y, x = x)  
dat.orderm.out <- rbind(dat.orderm, c(4, 0.1)) ## add one outlier.
(eff <- orderm(dat.orderm.out, noutput = 1, M = 25, B = 20))

Linear Programming for Revenue Maximization

Description

Solve the Revenue Maximization Probem with Given Output Prices

Usage

revenue.dea(base = NULL, frontier = NULL, noutput = 1, output.price = NULL)

Arguments

base

A data set for DMUs to be evaluated. A data frame with J1*(M+N) dimention, where J1 is the number of DMUs, M for the number of inputs, and N for the number of outputs.

frontier

A data set for DMUs to be used in constructing a production possibility set (PPS). A data frame with J2*(M+N) dimention, where J2 is the number of DMUs, M for the number of inputs, and N for the number of outputs.

noutput

The number of outputs (M).

output.price

A vector for market prices of outputs.

Details

The revenue maximization problem under the CRS assumption is calculated. See Cooper et al. (2007).

Value

A data frame with J1*(N+6), which has optimal N output factors, maximized revenue when overally efficient, maximized revenue when technically-efficient, revealed revenue, overall efficiency, allocative efficiency, and technical efficiency.

Author(s)

Dong-hyun Oh, [email protected]

References

Cooper, W., Seiford, L. and Tone, K. (2007). Data envelopment analysis: a comprehensive text with models, applications, references and DEA-solver software (2nd ed.). Springer Verlag, New York.

Lee, J. and Oh, D. (forthcoming). Efficiency Analysis: Data Envelopment Analysis. Press (in Korean).

See Also

cost.dea

Examples

tab8.3 <- data.frame(y1 = c(1, 3, 6, 6, 3, 9),
                          y2 = c(6, 6, 3, 5, 4, 1),
                          x = c(1, 1, 1, 1, 1, 1))
tab8.3.ps.f <- c(p1 = 2, p2 = 2)
(ex8.3 <- revenue.dea(base = tab8.3,
                    noutput = 2, output.price = tab8.3.ps.f))

Linear Programming for the Slacks-based Model under the CRS

Description

Solve Slacks-based Model under the CRS (Tone, 2001)

Usage

sbm.tone(base= NULL, frontier = NULL, noutput = 1)

Arguments

base

A data set for DMUs to be evaluated. A data frame with J1*(M+N) dimention, where J1 is the number of DMUs, M for the number of inputs, and N for the number of outputs.

frontier

A data set for DMUs to construct a production possibility set (PPS). A data frame with J2*(M+N) dimention, where J2 is the number of DMUs, M for the number of inputs, and N for the number of outputs.

noutput

The number of outputs (N).

Details

The SBM under the CRS assumption is calculated. See Tone (2001).

Value

A data frame with (1+J1+M+N), which shows efficiency scores, optimal weights, and optiaml input and output slacks.

Author(s)

Dong-hyun Oh, [email protected]

References

Cooper, W., Seiford, L. and Tone, K. (2007). Data envelopment analysis: a comprehensive text with models, applications, references and DEA-solver software (2nd ed.). Springer Verlag, New York.

Lee, J. and Oh, D. (forthcoming). Efficiency Analysis: Data Envelopment Analysis. Press (in Korean).

Tone, K. (2001). A slacks-based measure of efficiency in data envelopment analysis. European Journal of Operational Research, 130(3):498-509.

See Also

sbm.vrs

Examples

tab7.6.dat <- data.frame(y = c(1, 1, 1, 1, 1, 1),
                              x1 = c(1, 3, 6, 2, 5, 9),
                              x2 = c(4, 1, 1, 8, 5, 2))
(re <- sbm.tone(tab7.6.dat, noutput = 1))

Linear Programming for the Slacks-based Model under the VRS

Description

Solve Slacks-based Model under the VRS (Tone, 2001)

Usage

sbm.vrs(base= NULL, frontier = NULL, noutput = 1)

Arguments

base

A data set for DMUs to be evaluated. A data frame with J1*(M+N) dimention, where J1 is the number of DMUs, M for the number of inputs, and N for the number of outputs.

frontier

A data set for DMUs to construct a production possibility set (PPS). A data frame with J2*(M+N) dimention, where J2 is the number of DMUs, M for the number of inputs, and N for the number of outputs.

noutput

The number of outputs (N).

Details

The SBM under the VRS assumption is calculated. See Tone (2001).

Value

A data frame with (1+J1+M+N), which shows efficiency scores, optimal weights, and optiaml input and output slacks.

Author(s)

Dong-hyun Oh, [email protected]

References

Cooper, W., Seiford, L. and Tone, K. (2007). Data envelopment analysis: a comprehensive text with models, applications, references and DEA-solver software (2nd ed.). Springer Verlag, New York.

Lee, J. and Oh, D. (forthcoming). Efficiency Analysis: Data Envelopment Analysis. Press (in Korean).

Tone, K. (2001). A slacks-based measure of efficiency in data envelopment analysis. European Journal of Operational Research, 130(3):498-509.

See Also

sbm.tone

Examples

tab7.6.dat <- data.frame(y = c(1, 1, 1, 1, 1, 1),
                              x1 = c(1, 3, 6, 2, 5, 9),
                              x2 = c(4, 1, 1, 8, 5, 2))
(re <- sbm.vrs(tab7.6.dat, noutput = 1))