A Análise por Envoltória de Dados, mais conhecida como DEA, serve para calcular a eficiência das DMUs (Decision Making Units). Através de valores de entradas e saídas ela calcula o nível de eficiência e quanto mais perto de 1 mais eficiente aquela DMU analisada foi.
Gerando valores aleátorios para as DMUs
Code
library(deaR)library(dplyr)num_dmus <-10set.seed(1992)inputs <-data.frame(Input1 =runif(num_dmus, min =5000, max =10000),Input2 =runif(num_dmus, min =5000, max =10000),Input3 =runif(num_dmus, min =5000, max =10000))outputs <-data.frame(Output1 =runif(num_dmus, min =10100, max =15000))dados <-cbind(inputs, outputs)rownames(dados) <-paste("DMU", 1:num_dmus, sep ="_")dados
---title: "Análise por Envoltória de Dados"author: "Marea"format: html: code-fold: true code-tools: truetheme: light: [pulse,custom.scss] dark: [cyborg,custom.scss]title-block-banner: trueexecute: warning: false message: false---## Explicação da DEAA Análise por Envoltória de Dados, mais conhecida como DEA, serve para calcular a eficiência das DMUs (Decision Making Units). Através de valores de entradas e saídas ela calcula o nível de eficiência e quanto mais perto de 1 mais eficiente aquela DMU analisada foi.### Gerando valores aleátorios para as DMUs```{r}library(deaR)library(dplyr)num_dmus <-10set.seed(1992)inputs <-data.frame(Input1 =runif(num_dmus, min =5000, max =10000),Input2 =runif(num_dmus, min =5000, max =10000),Input3 =runif(num_dmus, min =5000, max =10000))outputs <-data.frame(Output1 =runif(num_dmus, min =10100, max =15000))dados <-cbind(inputs, outputs)rownames(dados) <-paste("DMU", 1:num_dmus, sep ="_")dados```### Usando função do R que calcula o modelo```{r}dados_dea <-make_deadata(dados, inputs =1:3, outputs =4:4)modelo <-model_basic(dados_dea, orientation ="io", rts ="crs", dmu_eval =NULL, dmu_ref =NULL)eficiencias <-efficiencies(modelo)eficiencias```### Vendo quanto cada DMU poderia ter economizado em cada input```{r}eficiencias_vetor <-as.numeric(unlist(eficiencias))economias <-matrix(0, nrow =nrow(inputs), ncol =ncol(inputs))for (i in1:nrow(inputs)) {for (j in1:ncol(inputs)) {if (eficiencias_vetor[i] <1) { economia <- inputs[i, j] * (1- eficiencias_vetor[i]) economias[i, j] <- economia } }}options(scipen =999)print("Economia de insumos para DMUs ineficientes (linhas são DMUs, coluna são insumos):")economias```