1. Introducción

En este cuaderno se va a elaborar diagramas estadísticos cuya función será mostrar de una forma dinámica la participación de los grupos de cultivos con mayor producción del departamento de Boyacá, usando una base de datos de la Evaluaciones Agropecuarias Municipales (EVA) que datan desde el 2006 hasta el 2018

2. Configuración

library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5     v purrr   0.3.4
## v tibble  3.1.6     v dplyr   1.0.8
## v tidyr   1.2.0     v stringr 1.4.0
## v readr   2.1.2     v forcats 0.5.1
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
library(dplyr)
library(readr)
library(ggplot2)

3. Leer el conjunto de datos de EVA

list.files("C:/Users/GERARDO/Desktop/GB2022/datos", pattern=c('csv'))
## [1] "co.csv"                                        
## [2] "Evaluaciones_Agropecuarias_Municipales_EVA.csv"
## [3] "J.ber_Hort_2020.csv"                           
## [4] "J.ber_Tuber_2020.csv"
(eva = read_csv("C:/Users/GERARDO/Desktop/GB2022/datos/Evaluaciones_Agropecuarias_Municipales_EVA.csv", col_names = TRUE,
                show_col_types = FALSE))
## # A tibble: 20,576 x 17
##    `CÓD. \nDEP.` DEPARTAMENTO `CÓD. MUN.` MUNICIPIO      `GRUPO \nDE CULTIVO`
##            <dbl> <chr>              <dbl> <chr>          <chr>               
##  1            15 BOYACA             15114 BUSBANZA       HORTALIZAS          
##  2            15 BOYACA             15516 PAIPA          HORTALIZAS          
##  3            15 BOYACA             15491 NOBSA          HORTALIZAS          
##  4            15 BOYACA             15500 OICATA         HORTALIZAS          
##  5            15 BOYACA             15516 PAIPA          HORTALIZAS          
##  6            15 BOYACA             15500 OICATA         HORTALIZAS          
##  7            15 BOYACA             15377 LABRANZAGRANDE HORTALIZAS          
##  8            15 BOYACA             15377 LABRANZAGRANDE HORTALIZAS          
##  9            15 BOYACA             15491 NOBSA          HORTALIZAS          
## 10            15 BOYACA             15491 NOBSA          HORTALIZAS          
## # ... with 20,566 more rows, and 12 more variables:
## #   `SUBGRUPO \nDE CULTIVO` <chr>, CULTIVO <chr>,
## #   `DESAGREGACIÓN REGIONAL Y/O SISTEMA PRODUCTIVO` <chr>, AÑO <dbl>,
## #   PERIODO <chr>, `Área Sembrada\n(ha)` <dbl>, `Área Cosechada\n(ha)` <dbl>,
## #   `Producción\n(t)` <dbl>, `Rendimiento\n(t/ha)` <dbl>,
## #   `ESTADO FISICO PRODUCCION` <chr>, `NOMBRE \nCIENTIFICO` <chr>,
## #   `CICLO DE CULTIVO` <chr>
names(eva)
##  [1] "CÓD. \nDEP."                                  
##  [2] "DEPARTAMENTO"                                 
##  [3] "CÓD. MUN."                                    
##  [4] "MUNICIPIO"                                    
##  [5] "GRUPO \nDE CULTIVO"                           
##  [6] "SUBGRUPO \nDE CULTIVO"                        
##  [7] "CULTIVO"                                      
##  [8] "DESAGREGACIÓN REGIONAL Y/O SISTEMA PRODUCTIVO"
##  [9] "AÑO"                                          
## [10] "PERIODO"                                      
## [11] "Área Sembrada\n(ha)"                          
## [12] "Área Cosechada\n(ha)"                         
## [13] "Producción\n(t)"                              
## [14] "Rendimiento\n(t/ha)"                          
## [15] "ESTADO FISICO PRODUCCION"                     
## [16] "NOMBRE \nCIENTIFICO"                          
## [17] "CICLO DE CULTIVO"

4. Limpiar el conjunto de datos de EVA

eva %>% dplyr::select('CÓD. MUN.':'ESTADO FISICO PRODUCCION') -> eva.tmp
eva.tmp
## # A tibble: 20,576 x 13
##    `CÓD. MUN.` MUNICIPIO      `GRUPO \nDE CULTIVO` `SUBGRUPO \nDE CULT~` CULTIVO
##          <dbl> <chr>          <chr>                <chr>                 <chr>  
##  1       15114 BUSBANZA       HORTALIZAS           ACELGA                ACELGA 
##  2       15516 PAIPA          HORTALIZAS           ACELGA                ACELGA 
##  3       15491 NOBSA          HORTALIZAS           ACELGA                ACELGA 
##  4       15500 OICATA         HORTALIZAS           ACELGA                ACELGA 
##  5       15516 PAIPA          HORTALIZAS           ACELGA                ACELGA 
##  6       15500 OICATA         HORTALIZAS           ACELGA                ACELGA 
##  7       15377 LABRANZAGRANDE HORTALIZAS           ACELGA                ACELGA 
##  8       15377 LABRANZAGRANDE HORTALIZAS           ACELGA                ACELGA 
##  9       15491 NOBSA          HORTALIZAS           ACELGA                ACELGA 
## 10       15491 NOBSA          HORTALIZAS           ACELGA                ACELGA 
## # ... with 20,566 more rows, and 8 more variables:
## #   `DESAGREGACIÓN REGIONAL Y/O SISTEMA PRODUCTIVO` <chr>, AÑO <dbl>,
## #   PERIODO <chr>, `Área Sembrada\n(ha)` <dbl>, `Área Cosechada\n(ha)` <dbl>,
## #   `Producción\n(t)` <dbl>, `Rendimiento\n(t/ha)` <dbl>,
## #   `ESTADO FISICO PRODUCCION` <chr>
eva.tmp %>%  dplyr::rename('Cod_Mun' = 'CÓD. MUN.', 
                         'Grupo' = 'GRUPO \nDE CULTIVO',
                         'Subgrupo' = 'SUBGRUPO \nDE CULTIVO', 
                         'Year' = 'AÑO',
                         'AreaSembrada' = 'Área Sembrada\n(ha)',
                         'AreaCosechada' = 'Área Sembrada\n(ha)',
                         'Produccion' = 'Producción\n(t)',                                                                 'Rendimiento' =  'Rendimiento\n(t/ha)',   
                         'Sistema' = 'DESAGREGACIÓN REGIONAL Y/O SISTEMA PRODUCTIVO',
                         'Estado' = 'ESTADO FISICO PRODUCCION') -> new_eva
new_eva
## # A tibble: 20,576 x 13
##    Cod_Mun MUNICIPIO  Grupo Subgrupo CULTIVO Sistema  Year PERIODO AreaCosechada
##      <dbl> <chr>      <chr> <chr>    <chr>   <chr>   <dbl> <chr>           <dbl>
##  1   15114 BUSBANZA   HORT~ ACELGA   ACELGA  ACELGA   2006 2006B               2
##  2   15516 PAIPA      HORT~ ACELGA   ACELGA  ACELGA   2007 2007B               1
##  3   15491 NOBSA      HORT~ ACELGA   ACELGA  ACELGA   2010 2010B               0
##  4   15500 OICATA     HORT~ ACELGA   ACELGA  ACELGA   2011 2011A              40
##  5   15516 PAIPA      HORT~ ACELGA   ACELGA  ACELGA   2011 2011B             300
##  6   15500 OICATA     HORT~ ACELGA   ACELGA  ACELGA   2011 2011B               0
##  7   15377 LABRANZAG~ HORT~ ACELGA   ACELGA  ACELGA   2012 2012A               2
##  8   15377 LABRANZAG~ HORT~ ACELGA   ACELGA  ACELGA   2012 2012B               1
##  9   15491 NOBSA      HORT~ ACELGA   ACELGA  ACELGA   2014 2014A               1
## 10   15491 NOBSA      HORT~ ACELGA   ACELGA  ACELGA   2014 2014B               1
## # ... with 20,566 more rows, and 4 more variables:
## #   `Área Cosechada\n(ha)` <dbl>, Produccion <dbl>, Rendimiento <dbl>,
## #   Estado <chr>

5. Analisis de los datos

5.1 Los cultivos más importantes entre 2006 y 2018

new_eva %>%
  filter(Produccion > 0) %>%
  group_by(Grupo) %>%
  summarize(total_produccion = sum(Produccion)) %>% 
  arrange(desc(total_produccion)) 
## # A tibble: 12 x 2
##    Grupo                                            total_produccion
##    <chr>                                                       <dbl>
##  1 TUBERCULOS Y PLATANOS                                    10388648
##  2 HORTALIZAS                                                4868712
##  3 OTROS PERMANENTES                                         2344976
##  4 FRUTALES                                                  1610069
##  5 CEREALES                                                   291985
##  6 LEGUMINOSAS                                                228791
##  7 OTROS TRANSITORIOS                                           8422
##  8 FLORES Y FOLLAJES                                            4818
##  9 FIBRAS                                                       1114
## 10 PLANTAS AROMATICAS, CONDIMENTARIAS Y MEDICINALES              891
## 11 OLEAGINOSAS                                                   186
## 12 HONGOS                                                          2
new_eva %>%
  group_by(Grupo) %>%
  summarize(total_produccion = sum(Produccion)) -> PT 
PT %>% 
  filter(total_produccion > 1000000) -> main.groups
(value = sum(main.groups$total_produccion))
## [1] 19212405
main.groups$percent = (main.groups$total_produccion/value)*100
library(ggplot2)
# Barplot
bp<- ggplot(main.groups, aes(x="", y=percent, fill=Grupo))+
geom_bar(width = 1, stat = "identity") + geom_col(color = "black")
# Piechart
pie <- bp + coord_polar("y", start=0)
pie + scale_fill_manual(values=c("#9da5eb", "#4253ed", "#5b6aeb", "#1f33ed")) + theme_minimal()

5.2 Municipios con mayor producción para cada grupo de cultivos:

new_eva %>%
  group_by(Grupo, MUNICIPIO) %>%
  summarize(total_prod = sum(Produccion, na.rm = TRUE)) %>%
  slice(which.max(total_prod))  %>%
  arrange(desc(total_prod))
## `summarise()` has grouped output by 'Grupo'. You can override using the
## `.groups` argument.
## # A tibble: 12 x 3
## # Groups:   Grupo [12]
##    Grupo                                            MUNICIPIO     total_prod
##    <chr>                                            <chr>              <dbl>
##  1 HORTALIZAS                                       AQUITANIA        1211476
##  2 TUBERCULOS Y PLATANOS                            TUNJA            1112521
##  3 OTROS PERMANENTES                                CHITARAQUE        793334
##  4 FRUTALES                                         NUEVO COLON       225664
##  5 LEGUMINOSAS                                      SAMACA             26406
##  6 CEREALES                                         SIACHOQUE          16800
##  7 OTROS TRANSITORIOS                               COVARACHIA          3606
##  8 FLORES Y FOLLAJES                                TOCA                2209
##  9 PLANTAS AROMATICAS, CONDIMENTARIAS Y MEDICINALES SOATA                671
## 10 FIBRAS                                           COVARACHIA           268
## 11 OLEAGINOSAS                                      PUERTO BOYACA        106
## 12 HONGOS                                           OICATA                 2
new_eva %>%
  group_by(Grupo, MUNICIPIO) %>%
  summarize(total_prod = sum(Produccion, na.rm = TRUE)) %>%
  slice(which.max(total_prod))  -> leaders
## `summarise()` has grouped output by 'Grupo'. You can override using the
## `.groups` argument.
leaders
## # A tibble: 12 x 3
## # Groups:   Grupo [12]
##    Grupo                                            MUNICIPIO     total_prod
##    <chr>                                            <chr>              <dbl>
##  1 CEREALES                                         SIACHOQUE          16800
##  2 FIBRAS                                           COVARACHIA           268
##  3 FLORES Y FOLLAJES                                TOCA                2209
##  4 FRUTALES                                         NUEVO COLON       225664
##  5 HONGOS                                           OICATA                 2
##  6 HORTALIZAS                                       AQUITANIA        1211476
##  7 LEGUMINOSAS                                      SAMACA             26406
##  8 OLEAGINOSAS                                      PUERTO BOYACA        106
##  9 OTROS PERMANENTES                                CHITARAQUE        793334
## 10 OTROS TRANSITORIOS                               COVARACHIA          3606
## 11 PLANTAS AROMATICAS, CONDIMENTARIAS Y MEDICINALES SOATA                671
## 12 TUBERCULOS Y PLATANOS                            TUNJA            1112521
leaders %>% 
  filter(total_prod > 50000) -> main.leaders
p<-ggplot(data=main.leaders, aes(x=MUNICIPIO, y=total_prod)) +
  geom_bar(stat="identity", color="#1f33ed", fill="#5b6aeb") + geom_text(aes(label=Grupo), vjust=1.6, size=2.5)+
  labs(x="MUNICIPIO",y="PRODUCCIÓN TOTAL", title="Municipios con mayor producción en el departamento de Boyacá")
p

5.3 Dinámica de un cultivo importante entre 2006 y 2018

new_eva %>% 
  filter(MUNICIPIO=="AQUITANIA" & CULTIVO=="CEBOLLA DE RAMA") %>% 
  group_by(Year, CULTIVO) %>%
  select(MUNICIPIO, CULTIVO, Produccion, Year) ->  Aquitania_onion
Aquitania_onion
## # A tibble: 24 x 4
## # Groups:   Year, CULTIVO [13]
##    MUNICIPIO CULTIVO         Produccion  Year
##    <chr>     <chr>                <dbl> <dbl>
##  1 AQUITANIA CEBOLLA DE RAMA      46000  2006
##  2 AQUITANIA CEBOLLA DE RAMA      45600  2007
##  3 AQUITANIA CEBOLLA DE RAMA      46000  2007
##  4 AQUITANIA CEBOLLA DE RAMA      46000  2008
##  5 AQUITANIA CEBOLLA DE RAMA      44000  2008
##  6 AQUITANIA CEBOLLA DE RAMA      52000  2009
##  7 AQUITANIA CEBOLLA DE RAMA      52000  2009
##  8 AQUITANIA CEBOLLA DE RAMA      44000  2010
##  9 AQUITANIA CEBOLLA DE RAMA      44000  2010
## 10 AQUITANIA CEBOLLA DE RAMA      45960  2011
## # ... with 14 more rows
g <- ggplot(aes(x=Year, y=Produccion/1000), data = Aquitania_onion) + geom_bar(stat='identity', color="#1f33ed", fill="#5b6aeb") + labs(y='Produccion de Cebolla de rama [Ton x 1000]', x="Año")
g + ggtitle("Evolución de la Producción de Cebolla en Aquitania desde el 2006 al 2018") + labs(caption= "Based on EVA data (Minagricultura, 2020)")

new_eva %>% 
  filter(MUNICIPIO == "AQUITANIA" & CULTIVO == "CEBOLLA DE RAMA") %>% 
  group_by(Year, CULTIVO) %>%
  dplyr::select(MUNICIPIO, CULTIVO, Rendimiento, Year) ->  rendi_onion

ggplot(aes(x=Year, y=Rendimiento), data = rendi_onion) + geom_bar(stat='identity', color="#1f33ed", fill="#5b6aeb") + labs(y='Rendimiento (t/ha)', x='Año') + ggtitle("Evolución del rendimiento del cultivo de cebolla en Aquitania del 2006 a 2018") + labs(caption= "Basado en los datos de EVA (Minagricultura, 2020)")

new_eva %>% 
  filter(MUNICIPIO == "TUNJA" & CULTIVO == "PAPA") %>% 
  group_by(Year, CULTIVO) %>%
  dplyr::select(MUNICIPIO, CULTIVO, Produccion, Year) ->  tnj_papa
tnj_papa
## # A tibble: 38 x 4
## # Groups:   Year, CULTIVO [13]
##    MUNICIPIO CULTIVO Produccion  Year
##    <chr>     <chr>        <dbl> <dbl>
##  1 TUNJA     PAPA         10400  2006
##  2 TUNJA     PAPA         12000  2007
##  3 TUNJA     PAPA         17560  2007
##  4 TUNJA     PAPA         15600  2008
##  5 TUNJA     PAPA         17240  2008
##  6 TUNJA     PAPA         84600  2009
##  7 TUNJA     PAPA         95450  2009
##  8 TUNJA     PAPA         78240  2010
##  9 TUNJA     PAPA         82500  2010
## 10 TUNJA     PAPA         39360  2011
## # ... with 28 more rows
mpda <- ggplot(aes(x=Year, y=Produccion/1000), data = tnj_papa) + geom_bar(stat='identity', color="#1f33ed", fill="#5b6aeb") + labs(y='Producción de papa  [Ton x 1000]', x='Año')

mpda + ggtitle("Evolución de la producción de papa en Tunja de 2006 a 2018") + labs(caption= "Basado en los datos de EVA (Minagricultura, 2020)")

new_eva %>% 
  filter(MUNICIPIO == "TUNJA" & CULTIVO == "PAPA") %>% 
  group_by(Year, CULTIVO) %>%
  dplyr::select(MUNICIPIO, CULTIVO, Rendimiento, Year) ->  rendi_papa

ggplot(aes(x=Year, y=Rendimiento), data = rendi_papa) + geom_bar(stat='identity', color="#1f33ed", fill="#5b6aeb") + labs(y='Rendimiento (t/ha)', x='Año') + ggtitle("Evolución del rendimiento del cultivo de papa en Tunja de 2006 a 2018") + labs(caption= "Basado en los datos de EVA (Minagricultura, 2020)")

6. Bibliografía

“Lizarazo, I., 2022. Understanding dynamic productivity of crops. Available at https://rpubs.com/ials2un/production_dyn_v1

sessionInfo()
## R version 4.1.3 (2022-03-10)
## Platform: x86_64-w64-mingw32/x64 (64-bit)
## Running under: Windows 10 x64 (build 19043)
## 
## Matrix products: default
## 
## locale:
## [1] LC_COLLATE=Spanish_Colombia.1252  LC_CTYPE=Spanish_Colombia.1252   
## [3] LC_MONETARY=Spanish_Colombia.1252 LC_NUMERIC=C                     
## [5] LC_TIME=Spanish_Colombia.1252    
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
## [1] forcats_0.5.1   stringr_1.4.0   dplyr_1.0.8     purrr_0.3.4    
## [5] readr_2.1.2     tidyr_1.2.0     tibble_3.1.6    ggplot2_3.3.5  
## [9] tidyverse_1.3.1
## 
## loaded via a namespace (and not attached):
##  [1] lubridate_1.8.0  assertthat_0.2.1 digest_0.6.29    utf8_1.2.2      
##  [5] R6_2.5.1         cellranger_1.1.0 backports_1.4.1  reprex_2.0.1    
##  [9] evaluate_0.15    httr_1.4.2       highr_0.9        pillar_1.7.0    
## [13] rlang_1.0.2      readxl_1.4.0     rstudioapi_0.13  jquerylib_0.1.4 
## [17] rmarkdown_2.13   labeling_0.4.2   bit_4.0.4        munsell_0.5.0   
## [21] broom_0.7.12     compiler_4.1.3   modelr_0.1.8     xfun_0.30       
## [25] pkgconfig_2.0.3  htmltools_0.5.2  tidyselect_1.1.2 fansi_1.0.3     
## [29] crayon_1.5.1     tzdb_0.2.0       dbplyr_2.1.1     withr_2.5.0     
## [33] grid_4.1.3       jsonlite_1.8.0   gtable_0.3.0     lifecycle_1.0.1 
## [37] DBI_1.1.2        magrittr_2.0.2   scales_1.1.1     cli_3.2.0       
## [41] stringi_1.7.6    vroom_1.5.7      farver_2.1.0     fs_1.5.2        
## [45] xml2_1.3.3       bslib_0.3.1      ellipsis_0.3.2   generics_0.1.2  
## [49] vctrs_0.3.8      tools_4.1.3      bit64_4.0.5      glue_1.6.2      
## [53] hms_1.1.1        parallel_4.1.3   fastmap_1.1.0    yaml_2.3.5      
## [57] colorspace_2.0-3 rvest_1.0.2      knitr_1.38       haven_2.4.3     
## [61] sass_0.4.1