dea: DEA - Data Envelopment Analysis

View source: R/dea.R

deaR Documentation

DEA - Data Envelopment Analysis

Description

Data Envelopment Analysis, DEA, computes, for a set of Decision Making Units, DMU, a relative efficiency score, comparing one unit with the others.

Usage

dea(
  input,
  output,
  orientation = c("input", "output"),
  name = "",
  solver = "auto"
)

Arguments

input

A matrix or a data frame containing the inputs of the units to be evaluated, with one row for each DMU and one column for each input.

output

A matrix or a data frame containing the outputs of the units to be evaluated, with one row for each DMU and one column for each output.

orientation

Use "input" for input orientation or "output" for output orientation in DEA model. The default is "input".

name

An optional descriptive name for the model. The default is an empty string. This name will be displayed in printed and summarized results.

solver

The solver used by ROI to solve the DEA optimization problem. The default is "auto." The solver must be installed and capable of solving linear programming problems. Use ROI_installed_solvers() to list them.

Details

Each DMU transforms inputs into outputs. The set of inputs and outputs is the same for all the DMUs, but not their quantities.

This function computes a relative efficiency score and weights for each input and output variable in the model. All these for each DMU.

Value

This function return a dea class object with the following named members:

  • name: A label of the model

  • orientation: DEA model orientation 'input' or 'output'

  • inputnames: Variable input names

  • outputnames: Variable output names

  • eff: is a vector with DMU's scores

  • ux: A set of weights for inputs

  • vy: A set of weights for output

  • vinput: Standardized virtual input dividing by the sum of the weights, see [Costa2006] in adea-package.

  • voutput: Standardized virtual output dividing by the sum of the weights, see [Costa2006] in adea-package

  • solver: The solver used for the resolution of the optimization problem

See Also

adea-package.

Examples

# Load data
data('cardealers4')

# Define input and output
input <- cardealers4[, c('Employees', 'Depreciation')]
output <- cardealers4[, c('CarsSold', 'WorkOrders')]

# Compute dea model
model <- dea(input, output, name = 'DEA for cardealers4 dataset')

# Print DMU efficiencies
model
# Dealer A  Dealer B  Dealer C  Dealer D  Dealer E  Dealer F
# 0.9915929 1.0000000 0.8928571 0.8653846 1.0000000 0.6515044

# Summarize the model and print aditional information
summary(model)
# Model name   DEA for cardealers4 dataset
# Orientation                        input
# Inputs            Employees Depreciation
# Outputs              CarsSold WorkOrders
# nInputs                                2
# nOutputs                               2
# nVariables                             4
# nEfficients                            2
# Eff. Mean               0.90022318389575
# Eff. sd                0.135194867030839
# Eff. Min.              0.651504424778761
# Eff. 1st Qu.           0.872252747252747
# Eff. Median            0.942225031605562
# Eff. 3rd Qu.           0.997898230088496
# Eff. Max.                              1


adea documentation built on Nov. 24, 2023, 5:10 p.m.