Package: qDEA 1.0.0

qDEA: Quantile Data Envelopment Analysis

R implementation of Quantile Data Envelopment Analysis. The package 'qDEA' allows a user specified proportion of observations to lie external to a given Decision Making Units's (DMU's)reference hyperplane. 'qDEA' can be used to detect and address influential outliers or to implement quantile benchmarking, as discussed in Atwood and Shaik (2020). Quantile benchmarking is accomplished by using heuristic procedures to find a DMU's closest input-output projection point in a specified direction while allowing a specified proportion of observations to lie external to the projected point's hyperplane. The 'qDEA' package accommodates standard (DEA) and quantile DEA estimation, returns to scale CRS(constant),VRS(variable),DRS(decreasing) or IRS(increasing), the use of directional vectors, bias correction through subsample bootstrapping and subsample size selection procedures. The user can also recover each DMU's reference DMUs and external DMUs if desired. The implemented procedures are based on discussions in: Atwood and Shaik (2020) <doi:10.1016/j.ejor.2020.03.054> Atwood and Shaik (2018) <doi:10.1007/978-3-319-68678-3_4> Walden and Atwood (2023) <doi:10.1086/724932> Walden and Atwood (2025) <doi:10.1086/736554>.

Authors:Joe Atwood [aut, cre], John Walden [aut]

qDEA_1.0.0.tar.gz
qDEA_1.0.0.zip(r-4.7-any)qDEA_1.0.0.zip(r-4.6-any)qDEA_1.0.0.zip(r-4.5-any)
qDEA_1.0.0.tgz(r-4.6-any)qDEA_1.0.0.tgz(r-4.5-any)
qDEA_1.0.0.tar.gz(r-4.7-any)qDEA_1.0.0.tar.gz(r-4.6-any)
qDEA_1.0.0.tgz(r-4.6-emscripten)
manual.pdf |manual.html
DESCRIPTION |NEWS
card.svg |card.png
qDEA/json (API)

# Install 'qDEA' in R:
install.packages('qDEA', repos = c('https://uaeja.r-universe.dev', 'https://cloud.r-project.org'))
Datasets:
  • CST11 - Cooper,Seiford,Tone 2006 One Input One Output Example Data
  • CST12 - Cooper,Seiford,Tone 2006 One Input Two Output Example Data Table 1.4
  • CST21 - Cooper,Seiford,Tone 2006 Two Input One Output Example Table 1.3
  • CST22 - Cooper,Seiford,Tone 2006 Two Input Two Output Example Data Table 1.5

On CRAN:

Conda:

This package does not link to any Github/Gitlab/R-forge repository. No issue tracker or development information is available.

3.00 score 352 downloads 19 exports 52 dependencies

Last updated from:5622d94de2. Checks:9 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-x86_64OK152
source / vignettesOK224
linux-release-x86_64OK155
macos-release-arm64OK141
macos-oldrel-arm64OK158
windows-develOK107
windows-releaseOK80
windows-oldrelOK76
wasm-releaseOK117

Exports:A2SMcbindSMDEAbuilditer_deleteLP_highsLPSOLVERmerge_listsmy_lagmy_secondsnCm_mpickqDEAqDEA_mlistqDEA_solveqDEAbuildrbindSMSM2ASM2SMsort_listWrite.LP

Dependencies:backportsbootbroomcheckmateclicolorspacecowplotcpp11DerivdoBydplyrfarverforecastfracdiffgenericsggplot2gluegtablehighsisobandlabelinglatticelifecyclelmtestmagrittrMASSMatrixmodelrnlmennetpillarpkgconfigpurrrR6RColorBrewerRcppRcppArmadillorlangS7scalesstringistringrtibbletidyrtidyselecttimeDateurcautf8vctrsviridisLitewithrzoo

Introduction to qDEA: Quantile Data Envelopment Analysis
Overview | Key Features | Methodology | Installation | Basic Usage: One Input, One Output | Standard DEA | Quantile DEA | Multiple Inputs: Two Inputs, One Output | Multiple Outputs: One Input, Two Outputs | Hospital Example: Two Inputs, Two Outputs | Model Orientations | Input Orientation | Output Orientation | Graph (Input-Output) Orientation | Returns to Scale | Bootstrap Bias Correction | Peer Identification | Projected Values | Iterative qDEA | Practical Tips | Choosing the Outlier Proportion (qout) | Choosing Orientation | Choosing Returns to Scale | Bootstrap Guidelines | Understanding the Output | Advanced Example: Complete Analysis | Visualization | Common Issues and Solutions | Issue: All efficiency scores equal 1 | Issue: Some efficiency scores are very low | Issue: Bootstrap takes too long | References | Getting Help | Session Information

Last update: 2026-04-13
Started: 2026-04-13

Practical Applications of qDEA
Introduction | Case Study 1: Hospital Efficiency Analysis | The Problem | Analysis | Step 1: Standard DEA Analysis | Step 2: Robust qDEA Analysis | Step 3: Target Setting | Step 4: Peer Benchmarks | Management Report | Case Study 2: Retail Store Performance | Sensitivity Analysis: How Many Outliers? | Recommended Approach | Case Study 3: Dealing with Outliers | Identifying Outliers | Impact of Outlier Removal | Workflow: Complete Analysis Template | Best Practices Summary | 1. Data Preparation | 2. Model Selection | 3. Interpretation | 4. Reporting | 5. Common Mistakes to Avoid | Exporting Results | To CSV | To Excel (requires openxlsx package) | Visualization Examples | Efficiency Distribution | Efficiency Comparison | Conclusion | Further Reading

Last update: 2026-04-13
Started: 2026-04-13

Readme and manuals

Help Manual

Help pageTopics
A2SM: Convert a matrix A to sparse matrix object ASMA2SM
cbindSM: "column bind" two sparse matricescbindSM
Cooper,Seiford,Tone 2006 One Input One Output Example DataCST11
Cooper,Seiford,Tone 2006 One Input Two Output Example Data Table 1.4CST12
Cooper,Seiford,Tone 2006 Two Input One Output Example Table 1.3CST21
Cooper,Seiford,Tone 2006 Two Input Two Output Example Data Table 1.5CST22
DEAbuild: Builds DDEA LP object for use in qDEA_solve functionDEAbuild
iter_delete: Function used for 'peeling' that supplements or supplants qDEA 'slicing' procedure. Intended to be called from qDEA functioniter_delete
lagMat: Create a matrix of lagslagMat
LP_highs Function to solve sparse LP problem using highs packageLP_highs
LPSOLVER Function to call specified solver to sparse LP problemLPSOLVER
merge_lists: Merges two list objects. This function appends any objects in list2 and not in list 1 to list1 with priority given to list 1 components.merge_lists
my_lag: Lag a vector of valuesmy_lag
my_seconds: Function to pull seconds from proc.time functionmy_seconds
nCM_mpick: Select subsample size m from mlist !!!!Intended to be called from qDEA function!!!!nCm_mpick
qDEA: Calling function for set of DEA and qDEA processesqDEA
qDEA_mlist: Obtain subsample qDEA results for a set (vector) of subsample sizes !!!Intended to be called from qDEA function!!!!qDEA_mlist
qDEA_solve: Sets up LP objects and solves DDEA dual DEA and qDEA using highs !!!! Intended to be called from qDEA function.!!!! Note: ndmu=number of dmus in reference set, ndmu0 = number dmus to process.qDEA_solve
qDEAbuild: Builds qDEA LP object for use in qDEA_solve functionqDEAbuild
rbindSM: "row bind" two sparse matricesrbindSM
SM2A: Convert a sparse matrix object ASM into a matrix ASM2A
SM2SM: Convert a sparse matrix object ASM into a different sparse matrix form.SM2SM
sort_list: Sorts objects in list by object namesort_list
Write.LPWrite.LP