Estadísticas agropecuarias Guaviare

Introducción

El presente cuaderno es una guia, que a través de la información agropecuaria del departamento del Guaviare, brinda pautas respecto a la manipulación de datos por medio de la libreria de Tidyverse, la cual, como sombrilla de otras librerias, es una excelente herramienta para el manejo y análisis de la información. Cabe resaltar que el resultado obtenido a partir de este cuaderno, permitirá el desarrollo del segundo cuaderno, por ello su adecuada ejecución es imprescindible.

Algunos de los objetivos que se espera cumplir con el cuaderno son:

  1. Organizar la información para el departamento del Guaviare, la cual proviene de una base de datos general, por medio del uso de algunas librerias del Tidyverse como Dplyr, y particularmente diversas funciones de esta última, como filtrar y seleccionar.
  2. Analizar los datos seleccionados para el departamento con el fin de hallar los grupos de cultivo con mayor producción histórica, esto a través del uso de pipes, y funciones como group_by que permiten separarar datos para aplicar análisis particulares y luego unirlos.

Configuración

En esta sección escribimos código para cargar todas las librerias que necesitamos

library(tidyverse)

Datos

En esta sección vamos a leer el archivo con los datos de estadísticas agropecuarias municipales y los describimos

EVA<-read_csv("F:\\GBI\\GB2\\Ejerciciosr\\Cuaderno1\\EVA.csv")

Revisemos el encabezado de EVA:

head(EVA)
## # A tibble: 6 × 17
##   CÓD. \…¹ DEPAR…² CÓD. …³ MUNIC…⁴ GRUPO…⁵ SUBGR…⁶ CULTIVO DESAG…⁷   AÑO PERIODO
##      <dbl> <chr>     <dbl> <chr>   <chr>   <chr>   <chr>   <chr>   <dbl> <chr>  
## 1       15 BOYACA    15114 BUSBAN… HORTAL… ACELGA  ACELGA  ACELGA   2006 2006B  
## 2       25 CUNDIN…   25754 SOACHA  HORTAL… ACELGA  ACELGA  ACELGA   2006 2006B  
## 3       25 CUNDIN…   25214 COTA    HORTAL… ACELGA  ACELGA  ACELGA   2006 2006B  
## 4       54 NORTE …   54405 LOS PA… HORTAL… ACELGA  ACELGA  ACELGA   2006 2006B  
## 5       54 NORTE …   54518 PAMPLO… HORTAL… ACELGA  ACELGA  ACELGA   2006 2006B  
## 6       68 SANTAN…   68377 LA BEL… HORTAL… ACELGA  ACELGA  ACELGA   2006 2006B  
## # … with 7 more variables: `Á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>, and abbreviated
## #   variable names ¹​`CÓD. \nDEP.`, ²​DEPARTAMENTO, ³​`CÓD. MUN.`, ⁴​MUNICIPIO,
## #   ⁵​`GRUPO \nDE CULTIVO`, ⁶​`SUBGRUPO \nDE CULTIVO`,
## #   ⁷​`DESAGREGACIÓN REGIONAL Y/O SISTEMA PRODUCTIVO`

Revisemos el nombre de los atributos de las evaluaciones agropecuarias:

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"

Cambiemos los nombres de la tabla:

nombres<-c("COD_DEP", "DEPARTAMENTO", "COD_MUN","MUNICIPIO","GRUPO", "SUBGRUPO", "CULTIVO", "DESAG", "YEAR", "PERIODO", "AREA_SIEMBRA","AREA_COSECHA","PRODUCCION","RENDIMIENTO", "ESTADO_FISICO","NOMBRE_CIENTIFICO", "CICLO_CULTIVO")
names(EVA)<-nombres
EVA
## # A tibble: 206,068 × 17
##    COD_DEP DEPARTAME…¹ COD_MUN MUNIC…² GRUPO SUBGR…³ CULTIVO DESAG  YEAR PERIODO
##      <dbl> <chr>         <dbl> <chr>   <chr> <chr>   <chr>   <chr> <dbl> <chr>  
##  1      15 BOYACA        15114 BUSBAN… HORT… ACELGA  ACELGA  ACEL…  2006 2006B  
##  2      25 CUNDINAMAR…   25754 SOACHA  HORT… ACELGA  ACELGA  ACEL…  2006 2006B  
##  3      25 CUNDINAMAR…   25214 COTA    HORT… ACELGA  ACELGA  ACEL…  2006 2006B  
##  4      54 NORTE DE S…   54405 LOS PA… HORT… ACELGA  ACELGA  ACEL…  2006 2006B  
##  5      54 NORTE DE S…   54518 PAMPLO… HORT… ACELGA  ACELGA  ACEL…  2006 2006B  
##  6      68 SANTANDER     68377 LA BEL… HORT… ACELGA  ACELGA  ACEL…  2006 2006B  
##  7      25 CUNDINAMAR…   25754 SOACHA  HORT… ACELGA  ACELGA  ACEL…  2007 2007A  
##  8      25 CUNDINAMAR…   25214 COTA    HORT… ACELGA  ACELGA  ACEL…  2007 2007A  
##  9      54 NORTE DE S…   54518 PAMPLO… HORT… ACELGA  ACELGA  ACEL…  2007 2007A  
## 10      68 SANTANDER     68377 LA BEL… HORT… ACELGA  ACELGA  ACEL…  2007 2007A  
## # … with 206,058 more rows, 7 more variables: AREA_SIEMBRA <dbl>,
## #   AREA_COSECHA <dbl>, PRODUCCION <dbl>, RENDIMIENTO <dbl>,
## #   ESTADO_FISICO <chr>, NOMBRE_CIENTIFICO <chr>, CICLO_CULTIVO <chr>, and
## #   abbreviated variable names ¹​DEPARTAMENTO, ²​MUNICIPIO, ³​SUBGRUPO

Es necesario tener en cuenta únicamente la información relevante para el departamento del Guaviare, por tanto, se debe filtrar la información

gvare2020<-dplyr::filter(EVA, DEPARTAMENTO=="GUAVIARE")
gvare2020
## # A tibble: 487 × 17
##    COD_DEP DEPARTAME…¹ COD_MUN MUNIC…² GRUPO SUBGR…³ CULTIVO DESAG  YEAR PERIODO
##      <dbl> <chr>         <dbl> <chr>   <chr> <chr>   <chr>   <chr> <dbl> <chr>  
##  1      95 GUAVIARE      95001 SAN JO… HORT… AHUYAMA AHUYAMA AHUY…  2009 2009B  
##  2      95 GUAVIARE      95200 MIRAFL… OLEA… AJONJO… AJONJO… AJON…  2009 2009A  
##  3      95 GUAVIARE      95200 MIRAFL… FRUT… FRUTAL… ARAZA   ARAZA  2008 2008   
##  4      95 GUAVIARE      95001 SAN JO… FRUT… FRUTAL… ARAZA   ARAZA  2008 2008   
##  5      95 GUAVIARE      95025 EL RET… FRUT… FRUTAL… ARAZA   ARAZA  2008 2008   
##  6      95 GUAVIARE      95200 MIRAFL… FRUT… FRUTAL… ARAZA   ARAZA  2009 2009   
##  7      95 GUAVIARE      95001 SAN JO… FRUT… FRUTAL… ARAZA   ARAZA  2009 2009   
##  8      95 GUAVIARE      95025 EL RET… FRUT… FRUTAL… ARAZA   ARAZA  2009 2009   
##  9      95 GUAVIARE      95200 MIRAFL… CERE… ARROZ   ARROZ   ARRO…  2006 2006B  
## 10      95 GUAVIARE      95200 MIRAFL… CERE… ARROZ   ARROZ   ARRO…  2007 2007A  
## # … with 477 more rows, 7 more variables: AREA_SIEMBRA <dbl>,
## #   AREA_COSECHA <dbl>, PRODUCCION <dbl>, RENDIMIENTO <dbl>,
## #   ESTADO_FISICO <chr>, NOMBRE_CIENTIFICO <chr>, CICLO_CULTIVO <chr>, and
## #   abbreviated variable names ¹​DEPARTAMENTO, ²​MUNICIPIO, ³​SUBGRUPO

Con el fin de limpiar los datos filtrados para nuestro departamento hacemos lo siguiente

gvare2020.tmp<-gvare2020 %>% select("COD_MUN":"CICLO_CULTIVO")
gvare2020.tmp
## # A tibble: 487 × 15
##    COD_MUN MUNICIPIO   GRUPO SUBGR…¹ CULTIVO DESAG  YEAR PERIODO AREA_…² AREA_…³
##      <dbl> <chr>       <chr> <chr>   <chr>   <chr> <dbl> <chr>     <dbl>   <dbl>
##  1   95001 SAN JOSE D… HORT… AHUYAMA AHUYAMA AHUY…  2009 2009B        20      20
##  2   95200 MIRAFLORES  OLEA… AJONJO… AJONJO… AJON…  2009 2009A        30      30
##  3   95200 MIRAFLORES  FRUT… FRUTAL… ARAZA   ARAZA  2008 2008        122      75
##  4   95001 SAN JOSE D… FRUT… FRUTAL… ARAZA   ARAZA  2008 2008         66      66
##  5   95025 EL RETORNO  FRUT… FRUTAL… ARAZA   ARAZA  2008 2008         30       0
##  6   95200 MIRAFLORES  FRUT… FRUTAL… ARAZA   ARAZA  2009 2009        122      75
##  7   95001 SAN JOSE D… FRUT… FRUTAL… ARAZA   ARAZA  2009 2009         66      66
##  8   95025 EL RETORNO  FRUT… FRUTAL… ARAZA   ARAZA  2009 2009         30       0
##  9   95200 MIRAFLORES  CERE… ARROZ   ARROZ   ARRO…  2006 2006B        10      10
## 10   95200 MIRAFLORES  CERE… ARROZ   ARROZ   ARRO…  2007 2007A        25      25
## # … with 477 more rows, 5 more variables: PRODUCCION <dbl>, RENDIMIENTO <dbl>,
## #   ESTADO_FISICO <chr>, NOMBRE_CIENTIFICO <chr>, CICLO_CULTIVO <chr>, and
## #   abbreviated variable names ¹​SUBGRUPO, ²​AREA_SIEMBRA, ³​AREA_COSECHA

Análisis de los datos obtenidos

Diversas tareas de análisis de datos se pueden llevar a cabo a través de la metodología separar-aplicar-combinar, que consiste en separar los datos en grupos, aplicar algunos análisis a cada grupo, y luego combinar los datos. Con R esto se puede hacer con la función group_by

Para ello comenzaremos por agrupar los cultivos del Guaviare y la producción total de cada uno de ellos:

gvare2020 %>%
  filter(PRODUCCION>0)%>%
  group_by(CULTIVO)%>%
  summarize(produccion_total=sum(PRODUCCION)) %>%
  arrange(desc(produccion_total))
## # A tibble: 22 × 2
##    CULTIVO       produccion_total
##    <chr>                    <dbl>
##  1 PLATANO                 321834
##  2 YUCA                    244028
##  3 ARROZ                   103570
##  4 MAIZ                     98129
##  5 PIÑA                     32430
##  6 CAÑA PANELERA            23003
##  7 CHONTADURO               12620
##  8 PATILLA                   5460
##  9 CAUCHO                    5045
## 10 CAÑA MIEL                 5002
## # … with 12 more rows

Los resultados obtenidos corresponden de este modo a los cultivos más importantes del departamento del Guaviare. En ese sentido también resulta interesante conocer los municipios que tienen mayor participación en la producción en el cultivo de interés

gvare2020 %>%
  group_by(CULTIVO, MUNICIPIO) %>%
  summarize(produccion_maxima=max(PRODUCCION, na.rm = TRUE )) %>% 
  slice(which.max(produccion_maxima))%>%
  arrange(desc(produccion_maxima))
## `summarise()` has grouped output by 'CULTIVO'. You can override using the
## `.groups` argument.
## # A tibble: 25 × 3
## # Groups:   CULTIVO [25]
##    CULTIVO       MUNICIPIO             produccion_maxima
##    <chr>         <chr>                             <dbl>
##  1 PLATANO       EL RETORNO                        23688
##  2 YUCA          SAN JOSE DEL GUAVIARE             14170
##  3 PIÑA          SAN JOSE DEL GUAVIARE              5495
##  4 CHONTADURO    EL RETORNO                         4352
##  5 ARROZ         SAN JOSE DEL GUAVIARE              4108
##  6 CAÑA PANELERA EL RETORNO                         3600
##  7 MAIZ          SAN JOSE DEL GUAVIARE              3300
##  8 PATILLA       EL RETORNO                         1890
##  9 CAUCHO        EL RETORNO                          665
## 10 CAÑA MIEL     CALAMAR                             475
## # … with 15 more rows

También se puede hacer el mismo procedimiento pero particularmente para grupos de cultivos

Ahora se seleccionará un grupo de cultivos y se exportaran los datos para futuro uso

gvare2020 %>%
group_by(COD_MUN, MUNICIPIO, GRUPO)%>%
  filter(GRUPO=="TUBERCULOS Y PLATANO") %>%
  summarize(produccion_maxima = max(PRODUCCION, na.rm = TRUE))%>%
  arrange(desc(produccion_maxima))->TUBERCULOS_PLATANO

Bibliografía

Lizarazo, I. Reading and processing municipal agricultural statistics for 2020. Available at: https://rpubs.com/ials2un/readingEVAv1.

sessionInfo()
## R version 4.2.2 (2022-10-31 ucrt)
## Platform: x86_64-w64-mingw32/x64 (64-bit)
## Running under: Windows 10 x64 (build 22621)
## 
## Matrix products: default
## 
## locale:
## [1] LC_COLLATE=English_United States.utf8 
## [2] LC_CTYPE=English_United States.utf8   
## [3] LC_MONETARY=English_United States.utf8
## [4] LC_NUMERIC=C                          
## [5] LC_TIME=English_United States.utf8    
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
##  [1] lubridate_1.9.2 forcats_1.0.0   stringr_1.5.0   dplyr_1.1.0    
##  [5] purrr_1.0.1     readr_2.1.4     tidyr_1.3.0     tibble_3.1.8   
##  [9] ggplot2_3.4.1   tidyverse_2.0.0
## 
## loaded via a namespace (and not attached):
##  [1] bslib_0.4.2      compiler_4.2.2   pillar_1.8.1     jquerylib_0.1.4 
##  [5] tools_4.2.2      bit_4.0.5        digest_0.6.31    timechange_0.2.0
##  [9] jsonlite_1.8.4   evaluate_0.20    lifecycle_1.0.3  gtable_0.3.1    
## [13] pkgconfig_2.0.3  rlang_1.0.6      cli_3.6.0        rstudioapi_0.14 
## [17] parallel_4.2.2   yaml_2.3.7       xfun_0.37        fastmap_1.1.1   
## [21] withr_2.5.0      knitr_1.42       hms_1.1.2        generics_0.1.3  
## [25] vctrs_0.5.2      sass_0.4.5       bit64_4.0.5      grid_4.2.2      
## [29] tidyselect_1.2.0 glue_1.6.2       R6_2.5.1         fansi_1.0.4     
## [33] vroom_1.6.1      rmarkdown_2.20   tzdb_0.3.0       magrittr_2.0.3  
## [37] ellipsis_0.3.2   scales_1.2.1     htmltools_0.5.4  colorspace_2.1-0
## [41] utf8_1.2.3       stringi_1.7.12   munsell_0.5.0    cachem_1.0.7    
## [45] crayon_1.5.2