DEA: Data Envelopment Analysis (DEA & SBM)

DEAR Documentation

Data Envelopment Analysis (DEA & SBM)

Description

Calculates standard or supper DEA/SBM efficiency scores (e.g., CCR or BCC models) and slacks.

Usage

basic_DEA(
  data,
  inputs,
  outputs,
  ud_outputs = NULL,
  orientation = "io",
  rts = "vrs"
)

super_DEA(data, inputs, outputs, orientation = "io", rts = "vrs")

basic_SBM(
  data,
  inputs,
  outputs,
  ud_outputs = NULL,
  orientation = "io",
  rts = "vrs"
)

super_SBM(data, inputs, outputs, orientation = "io", rts = "vrs")

Arguments

data

A data frame. The first column should contain DMU (Decision Making Unit) names/identifiers. Subsequent columns are input/output variables.

inputs

A numeric vector of column indices or a character vector of column names indicating input variables.

outputs

A numeric vector of column indices or a character vector of column names indicating (desirable) output variables.

ud_outputs

Optional. A numeric vector of column indices or a character vector of column names indicating undesirable output variables. Defaults to NULL.

orientation

Character string. Model orientation: "io" for input-oriented (default), or "oo" for output-oriented.

rts

Character string. Returns to scale assumption: "vrs" for variable returns to scale (default), or "crs" for constant returns to scale.

Details

This function serves as a wrapper around specific models from the deaR package.

Value

A list containing two elements:

efficiency

A numeric vector of efficiency scores for each DMU.

slack

A data frame or matrix containing the slack values for inputs/outputs.

Examples

# Sample data
data = data.frame(
  DMU = paste0("DMU", 1:5),
  input1 = c(10, 20, 15, 25, 30),
  input2 = c(5, 8, 7, 10, 12),
  output = c(100, 150, 120, 180, 200),
  ud_output = c(10, 15, 12, 20, 25)
)

# Standard DEA
result = basic_DEA(data, inputs = 2:3, outputs = 4)
result$efficiency

# DEA with undesirable outputs
result = basic_DEA(data, inputs = 2:3, outputs = 4:5, ud_outputs = 2)
result$efficiency

# Super-efficiency DEA
result = super_DEA(data, inputs = 2:3, outputs = 4)
result$efficiency

# Standard SBM
result = basic_SBM(data, inputs = 2:3, outputs = 4)
result$efficiency

# SBM with undesirable outputs
result = basic_SBM(data, inputs = 2:3, outputs = 4:5, ud_outputs = 2)
result$efficiency

# Super-efficiency SBM
result = super_SBM(data, inputs = 2:3, outputs = 4)
result$efficiency

# Note: According to deaR, the super-efficiency model
# does not take into account undesirable inputs/outputs.


zhjx19/mathmodels documentation built on June 2, 2025, 12:18 a.m.