options(scipen = 99999)
library(deaR)
library(dplyr)
library(kableExtra)
PFT1981 <-deaR::PFT1981
PFT <- PFT1981[1:49,]
PFT <- make_deadata(PFT,
                    inputs = 2:6,
                    outputs = 7:9 )
modelo_dea <- model_basic(PFT,
                          orientation = "io",
                          rts = "crs")
eff <- efficiencies(modelo_dea)
resultados <- data.frame(round(eff,2)*100,round(1-eff,2)*100)
names(resultados)<-c("E","1-E")
resultados_ordenados <-resultados %>% 
  arrange(desc(E))
resultados_ordenados %>% 
  kable(aption="Analisis Envolvente de datos",
        align = "c",
        digits = 2) %>% 
  kable_material(html_font = "sans-serif") %>% 
  kable_styling(bootstrap_options = c("striped", "hover"))%>% row_spec(row = 1:17, background = "#F0FFF0")
E 1-E
Site1 100 0
Site5 100 0
Site10 100 0
Site15 100 0
Site17 100 0
Site18 100 0
Site20 100 0
Site21 100 0
Site22 100 0
Site24 100 0
Site27 100 0
Site35 100 0
Site40 100 0
Site44 100 0
Site47 100 0
Site48 100 0
Site49 100 0
Site3 99 1
Site11 98 2
Site14 98 2
Site25 98 2
Site12 97 3
Site38 97 3
Site23 96 4
Site16 95 5
Site19 95 5
Site41 95 5
Site42 95 5
Site26 94 6
Site28 94 6
Site33 94 6
Site39 94 6
Site6 91 9
Site8 91 9
Site32 91 9
Site46 91 9
Site2 90 10
Site4 90 10
Site30 90 10
Site7 89 11
Site45 89 11
Site9 87 13
Site43 87 13
Site13 86 14
Site37 86 14
Site34 85 15
Site29 84 16
Site31 84 16
Site36 80 20
Mediante un análisis de eficiencia basado en el modelo de Análisis Envolvente de Datos para diferentes unidades de decisión se obtienen los resultados de la tabla anterior, donde se observan diferentes escenarios:
Sitios con una eficiencia del 100%, en este caso no se presentan no presentan ineficiencias, indicando que están utilizando sus recursos de la mejor manera posible para generar los outputs (resultados) con los inputs (recursos) que esten disponibles.Son 17 en total y estos no necesitan ajustes en sus operaciones.
Tambien se encuentran los sitios que son casi eficientes rondando los 90 y 99, estos podrían mejorar realizando pequeños ajustes en los procesos y así alcanzar la eficiencia total.
Los sitios con eficiencia media, para estos casos se toman los rangos de 85 a 89 en eficiencia indicando asi que las mejoras a realizar para estos casos son un poco más amplias y se deben de analizar los procesos realizados.
Por otro lado tenemos los sitios con eficiencia baja, estos serian los que se encuentran abajo del 85%, aqui se tendra que realizar cambios importantes para mejorar su eficiencia.El caso mas significativo es el sitio 36 con un 20% de ineficiencia.

Oportunidad de mejora promedio para las unidades ineficientes.

# Filtrar las unidades ineficientes (E < 100)
unidades_ineficientes <- resultados[resultados$E < 100, ]

# Calcular la oportunidad de mejora promedio (1 - E) para las unidades ineficientes
oportunidad_mejora_promedio <- mean(unidades_ineficientes$`1-E`)
oportunidad_mejora_promedio %>% 
  kable(aption="Promedio de oportunidades de mejora",
        align = "c",
        digits = 2) %>% 
  kable_material(html_font = "sans-serif") %>% 
  kable_styling(bootstrap_options = c("striped", "hover"))
x
8.44
Al calcular el promedio de las unidades ineficientes se puede analizar que tan lejano estan las unidades ineficientes de alcanzar el nivel de eficiencia total. Si el valor es bajo las unidades ineficientes estan cerca de ser 100% eficientes, contrario si el valor promedio es alto, las unidades tienen un margen de mejoras muy significativo. Para este caso el valor es inferior al 10% siendo de 8.44% por tanto se encuentra en el primer caso.