Sostenibilidad en residuos agrícolas

Introducción a los gráficos alluvial

Este tipo de gráfico resulta ideal para trabajar los problemas de multiple fuentes u orígenes, canales y consumidores en las cadenas de abastecimiento.

Repasaremos su construcción y luego avanzaremos con un ejemplo.

# Cargamos una biblioteca auxiliar
library(networkD3)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
# Creamos un dataset de clase data.frame que lista la intensidad de flujos entre grupos. Crearemos los flujos entre cada origen y destino
links <- data.frame(
  source=c("grupo_A","grupo_A", "grupo_B", "grupo_C", "grupo_C", "grupo_E"), 
  target=c("grupo_C","grupo_D", "grupo_E", "grupo_F", "grupo_G", "grupo_H"), 
  value=c(2,3, 2, 3, 1, 3)
  )

# Para estos flujos necesitamos crear nodos de origen y destino. Cada entidad estará relacionada con un flujo que ya hemos creado.

nodes <- data.frame(
  name=c(as.character(links$source), 
  as.character(links$target)) %>% unique()
)

# Con el comando match de la boblioteca network3D establecemos un id pero sin usar el verdadero nombre que tiene en el dataframe. Esto es para economizar espacio y cálculo. En síntesis reformateamos las etiquetas. 

links$IDsource <- match(links$source, nodes$name)-1 
links$IDtarget <- match(links$target, nodes$name)-1
 
# Armado de la red de ploteo
p <- sankeyNetwork(Links = links, Nodes = nodes,
              Source = "IDsource", Target = "IDtarget",
              Value = "value", NodeID = "name", 
              sinksRight=FALSE)
p

Obtenemos los datos

library(readr)
Residuos_Agricolas <- read_delim("Residuos_Agricolas.csv", 
    delim = ";", escape_double = FALSE, locale = locale(decimal_mark = ",", 
        grouping_mark = "."), trim_ws = TRUE)
## Rows: 128 Columns: 7
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ";"
## chr (4): Residuo, Finan, Canal, Exito
## dbl (3): Freq, Monto, TIR
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
RA <- Residuos_Agricolas
library(kableExtra)
## 
## Attaching package: 'kableExtra'
## The following object is masked from 'package:dplyr':
## 
##     group_rows
RA %>%
  kbl(caption = "Estrategias Omnicanal Residuos Agrícola") %>%
  kable_classic(full_width = F, html_font = "Cambria")
Estrategias Omnicanal Residuos Agrícola
Residuo Finan Canal Exito Freq Monto TIR
Leguminosas CyT_SN Finca No 0 5.045360 0.2535910
Frutas CyT_SN Finca No 0 47.610275 0.2078233
Vinificacion CyT_SN Finca No 35 5.644619 0.2672615
Destilacion CyT_SN Finca No 0 16.222262 0.2214048
Leguminosas BID Finca No 0 33.161698 0.2447643
Frutas BID Finca No 0 29.141628 0.2986382
Vinificacion BID Finca No 17 14.624767 0.3130598
Destilacion BID Finca No 0 44.302896 0.3006706
Leguminosas CyT_SN Fabrica No 118 9.115637 0.2698038
Frutas CyT_SN Fabrica No 154 23.207565 0.2258927
Vinificacion CyT_SN Fabrica No 387 12.797466 0.2466779
Destilacion CyT_SN Fabrica No 670 44.865320 0.3100166
Leguminosas BID Fabrica No 4 26.801132 0.2732182
Frutas BID Fabrica No 13 6.925694 0.2992606
Vinificacion BID Fabrica No 89 39.793678 0.2565675
Destilacion BID Fabrica No 3 9.156240 0.2299238
Leguminosas CyT_SN Transport Yes 5 35.526418 0.2872053
Frutas CyT_SN Transport Yes 11 47.152619 0.2145507
Vinificacion CyT_SN Transport Yes 13 16.648074 0.2634952
Destilacion CyT_SN Transport Yes 0 26.833314 0.2195922
Leguminosas BID Transport Yes 1 19.341174 0.2543593
Frutas BID Transport Yes 13 22.601838 0.2450026
Vinificacion BID Transport Yes 14 40.268058 0.2399811
Destilacion BID Transport Yes 0 37.684719 0.3228847
Leguminosas CyT_SN Digital Yes 57 12.210556 0.2472374
Frutas CyT_SN Digital Yes 14 41.120950 0.2427162
Vinificacion CyT_SN Digital Yes 75 38.874747 0.2471511
Destilacion CyT_SN Digital Yes 192 15.551385 0.3243603
Leguminosas BID Digital Yes 140 14.022305 0.2932176
Frutas BID Digital Yes 80 28.816282 0.3155251
Vinificacion BID Digital Yes 76 12.351181 0.2518114
Destilacion BID Digital Yes 20 47.369820 0.2432076
Leguminosas CyT_SN Satelite No 0 26.351281 0.2477955
Frutas CyT_SN Satelite No 0 26.314491 0.2349050
Vinificacion CyT_SN Satelite No 35 31.655815 0.3153782
Destilacion CyT_SN Satelite No 0 7.341824 0.2838068
Leguminosas BID Satelite No 0 12.370262 0.2477694
Frutas BID Satelite No 0 3.862011 0.3060934
Vinificacion BID Satelite No 17 6.723596 0.2672441
Destilacion BID Satelite No 0 39.963028 0.2237443
Leguminosas CyT_SN Subasta No 118 24.711835 0.2762698
Frutas CyT_SN Subasta No 154 45.041259 0.2907675
Vinificacion CyT_SN Subasta No 387 45.453588 0.2513953
Destilacion CyT_SN Subasta No 670 2.449325 0.2584758
Leguminosas BID Subasta No 4 49.204602 0.3227747
Frutas BID Subasta No 13 43.541173 0.2467088
Vinificacion BID Subasta No 89 34.796374 0.2444328
Destilacion BID Subasta No 3 32.878009 0.3173624
Leguminosas CyT_SN Transport Yes 5 23.973666 0.2348534
Frutas CyT_SN Transport Yes 11 1.573138 0.2253547
Vinificacion CyT_SN Transport Yes 13 21.609484 0.2581293
Destilacion CyT_SN Transport Yes 0 8.241094 0.2058652
Leguminosas BID Transport Yes 1 23.890259 0.2500751
Frutas BID Transport Yes 13 16.016141 0.2285907
Vinificacion BID Transport Yes 14 49.224722 0.2098951
Destilacion BID Transport Yes 0 36.019577 0.2345566
Leguminosas CyT_SN Finca Yes 57 26.174184 0.2948512
Frutas CyT_SN Finca Yes 14 28.526226 0.2502546
Vinificacion CyT_SN Finca Yes 75 10.232841 0.2021643
Destilacion CyT_SN Finca Yes 192 25.570125 0.3166573
Leguminosas BID Finca Yes 140 29.311992 0.3006375
Frutas BID Finca Yes 80 41.166050 0.3177034
Vinificacion BID Finca Yes 76 43.078241 0.2261757
Destilacion BID Finca Yes 20 43.175925 0.2810089
Leguminosas CyT_SN Digital No 0 15.985891 0.2128424
Frutas CyT_SN Digital No 0 15.761447 0.2318663
Vinificacion CyT_SN Digital No 35 32.956215 0.3182123
Destilacion CyT_SN Digital No 0 32.333631 0.3012755
Leguminosas BID Digital No 0 21.374891 0.2777796
Frutas BID Digital No 0 1.852035 0.2987916
Vinificacion BID Digital No 17 32.367081 0.2080067
Destilacion BID Digital No 0 45.997718 0.2234756
Leguminosas CyT_SN Fabrica No 118 41.536685 0.2122048
Frutas CyT_SN Fabrica No 154 1.206083 0.2808700
Vinificacion CyT_SN Fabrica No 387 26.481520 0.2864143
Destilacion CyT_SN Fabrica No 670 48.469134 0.2838597
Leguminosas BID Fabrica No 4 38.206148 0.2804930
Frutas BID Fabrica No 13 42.209727 0.2757560
Vinificacion BID Fabrica No 89 22.852060 0.3024244
Destilacion BID Fabrica No 3 44.702573 0.2211234
Leguminosas CyT_SN Digital Yes 5 34.219375 0.3040887
Frutas CyT_SN Digital Yes 11 28.626940 0.2697053
Vinificacion CyT_SN Digital Yes 13 13.010424 0.3166970
Destilacion CyT_SN Digital Yes 0 37.754493 0.2102126
Leguminosas BID Digital Yes 1 48.688970 0.2942456
Frutas BID Digital Yes 13 5.428478 0.2527598
Vinificacion BID Digital Yes 14 42.662574 0.3198560
Destilacion BID Digital Yes 0 15.002251 0.2434630
Leguminosas CyT_SN Transport Yes 57 23.015961 0.2945058
Frutas CyT_SN Transport Yes 14 4.604242 0.2429886
Vinificacion CyT_SN Transport Yes 75 48.606932 0.2795270
Destilacion CyT_SN Transport Yes 192 31.457314 0.2156794
Leguminosas BID Transport Yes 140 42.905737 0.2147648
Frutas BID Transport Yes 80 40.431942 0.2576676
Vinificacion BID Transport Yes 76 7.327655 0.2221207
Destilacion BID Transport Yes 20 7.474714 0.2634092
Leguminosas CyT_SN Finca No 0 19.140201 0.2124003
Frutas CyT_SN Finca No 0 40.295163 0.3029716
Vinificacion CyT_SN Finca No 35 43.855603 0.2593660
Destilacion CyT_SN Finca No 0 30.684381 0.2897241
Leguminosas BID Finca No 0 13.189814 0.2026017
Frutas BID Finca No 0 20.076823 0.2564366
Vinificacion BID Finca No 17 48.514402 0.2523000
Destilacion BID Finca No 0 45.602666 0.2692824
Leguminosas CyT_SN Subasta No 118 30.620161 0.2142636
Frutas CyT_SN Subasta No 154 42.738004 0.3057280
Vinificacion CyT_SN Subasta No 387 49.210884 0.2685003
Destilacion CyT_SN Subasta No 670 23.405391 0.2058261
Leguminosas BID Subasta No 4 16.231956 0.2367642
Frutas BID Subasta No 13 22.093450 0.2325167
Vinificacion BID Subasta No 89 33.247242 0.2029512
Destilacion BID Subasta No 3 43.350383 0.2518211
Leguminosas CyT_SN Satelite Yes 5 49.513511 0.2554350
Frutas CyT_SN Satelite Yes 11 12.748050 0.2119285
Vinificacion CyT_SN Satelite Yes 13 37.406016 0.2695372
Destilacion CyT_SN Satelite Yes 0 14.731254 0.3080514
Leguminosas BID Satelite Yes 1 42.864212 0.2525879
Frutas BID Satelite Yes 13 42.926096 0.2178687
Vinificacion BID Satelite Yes 14 10.299154 0.2460185
Destilacion BID Satelite Yes 0 40.148737 0.2345851
Leguminosas CyT_SN Subasta Yes 57 16.453559 0.2755565
Frutas CyT_SN Subasta Yes 14 23.071456 0.2651411
Vinificacion CyT_SN Subasta Yes 75 13.297002 0.2296843
Destilacion CyT_SN Subasta Yes 192 32.772192 0.3098589
Leguminosas BID Subasta Yes 140 24.668619 0.2828906
Frutas BID Subasta Yes 80 7.919658 0.2833550
Vinificacion BID Subasta Yes 76 10.551447 0.2654349
Destilacion BID Subasta Yes 20 11.105130 0.2535910

Éxtio o fracaso

Intentaremos saber que residuos agrícolas han podido ser reciclados exitosamente presindiendo del canal del que se obtuvieron

library(alluvial)
library(dplyr)
RA %>% group_by(Residuo, Exito) %>% summarise(n = sum(Freq)) -> tit2d
## `summarise()` has grouped output by 'Residuo'. You can override using the
## `.groups` argument.
 alluvial(tit2d[,1:2], freq=tit2d$n)

RA %>% group_by(Canal, Finan, Exito) %>%
 summarise(n = sum(Freq)) -> tit3d
## `summarise()` has grouped output by 'Canal', 'Finan'. You can override using the
## `.groups` argument.
alluvial(tit3d[,1:3], freq=tit3d$n)

RA %>% group_by(Canal, Finan, Residuo) %>%
 summarise(n = sum(Freq)) -> tit3d
## `summarise()` has grouped output by 'Canal', 'Finan'. You can override using the
## `.groups` argument.
alluvial(tit3d[,1:3], freq=tit3d$n)