Skip to contents

Solve an input or output oriented DEA model under constant (crs), variable (vrs), non-increasing (drs), or non-decreasing (irs) returns to scale.

Usage

compute_dea(
  data,
  input,
  output,
  id = NULL,
  rts = c("crs", "vrs", "drs", "irs"),
  orientation = c("in", "out"),
  super = FALSE,
  slack = FALSE,
  peers = FALSE
)

Arguments

data

Dataset to analyse.

input

A character vector with input variables.

output

A character vector with output variables.

id

Optional. A string with the DMU id or name variable. Defaults to the rownames of the dataset.

rts

Returns to scale.

crsConstant returns to scale, convexity and free disposability.
vrsVariable returns to scale, convexity and free disposability.
drsDecreasing returns to scale, convexity, down-scaling and free disposability.
irsIncreasing returns to scale, (up-scaling, but not down-scaling), convexity and free disposability.
orientation

Model orientation.

super

If TRUE super efficiency scores are calculated.

slack

If TRUE slack values are calculated.

peers

If TRUE peers are added to the response.

Value

A list of class pioneer_dea.

Examples

# Load example data
fare89 <- deaR::Electric_plants
# Estimate efficiency
mod <- compute_dea(
  data = fare89,
  input = c("Labor", "Fuel", "Capital"),
  output = "Output",
  id = "Plant",
  rts = "vrs",
  orientation = "in"
)
# Print results
print(mod)
#> Efficiency scores:
#>  [1] 0.8691291 1.0000000 1.0000000 0.9306542 1.0000000 0.9071361 0.8909196
#>  [8] 0.8207811 0.8884630 0.8469025 0.9530535 1.0000000 0.9601672 1.0000000
#> [15] 1.0000000 0.8884514 1.0000000 1.0000000 0.9440624
# Get summary
summary(mod)
#> Technology is VRS and input oriented efficiency
#> Mean efficiency: 0.9421
#> -----------
#>    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
#>  0.8208  0.8897  0.9531  0.9421  1.0000  1.0000 
# Convert to data frame
df <- as.data.frame(mod)