Introducción

En este cuaderno se ilustra los subconjuntos de datos de estadísticas agrícolas del EVA 2019-2022 proporcionados por la UPRA en https://upra.gov.co/es-co/Evas_Documentos/BaseEVA_Agr%C3%ADcola20192022.xlsx.

Que tienen como proposito ayudar a los estudiantes de Geomática Básica de la UNAL a adquirir habilidades digitales en R.

Pre-Requisitos

Con el archivo xlsx, el cual se mencionó anteriormente, descargado y guardado en el directorio de trabajo donde se encuentra nusestro cuaderno. Cuando se abre en Excel, las primeras filas del archivo BaseEVA_Agricola20192022.xlsx se ven de esta manera:

En el archivo original, se deben eliminar los banners y cambiar el nombre de las columnas para poder leerlo desde R. Se deben evitar los espacios en blanco y los nombres extraños en los nombres de las columnas.

Configuración

Se limpia la memoria temporal:

rm(list=ls())

Se cargan las librerias:

library(readxl)
library(readr)
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

Se lee el conjunto de datos EVA 2019-2022

Comprobemos los nombres de los archivos que se encuentran en el mismo directorio que este cuaderno:

list.files()
##  [1] "BaseEVA_Agrícola20192022.xlsx" "BM"                           
##  [3] "Boy.ctOE.gpkg"                 "Boy_Hortalizas_2022.csv"      
##  [5] "Boyaca_Eva.qgz"                "Boyacamun.gpkg"               
##  [7] "co.csv"                        "Cuaderno2.nb.html"            
##  [9] "Cuaderno2.Rmd"                 "Cuaderno2_files"              
## [11] "EVA_19_22.xlsx"                "Eva_Boyaca.csv"               
## [13] "EVA_boyacaproduccion.nb.html"  "EVA_boyacaproduccion.Rmd"     
## [15] "img1.png"                      "img2.png"                     
## [17] "img3.png"                      "Mapadeproduccion_Boy.html"    
## [19] "Mapadeproduccion_Boy.Rmd"      "pandoca6c3d16567e.nb.html"    
## [21] "rsconnect"                     "SHP_MGN2018_INTGRD_MPIO.zip"  
## [23] "worldcities.csv"

El archivo fijo es EVA_19_22.xlsx Al ser un archivo exel, conviene saber cuantas hojas hay:

hojas <- excel_sheets("EVA_19_22.xlsx")

Ahora se ve:

hojas
## [1] "DatosEVA2019-2022"

Es una sola hoja, ahora se lee esta hoja:

EVA19_22 <- read_excel("EVA_19_22.xlsx")
EVA19_22

Se debe tener en cuenta que COD_MUN es una columna de tipo character.

Datos de subconjunto para el departamento de Boyacá

Como estamos interesados solo en Boyacá necesitamos filtrar EVA19_22:

(Boy19_22 = dplyr::filter(EVA19_22, COD_DPTO == "15"))

Ahora, se seleccionan los datatos de solo el año 2022:

(Boy_22 = dplyr::filter(Boy19_22, YEAR == 2022))

Subconjunto del grupo de cultivos que estás analizando

Ahora seleccionemos solo el grupo de cultivos que nos interesa y resumimos la producción por municipio:

Boy_22 %>%
  group_by(COD_MUN, MUNICIPIO, GRUPO) %>%
  filter(GRUPO=='Hortalizas') %>% 
  summarize(max_prod = max(PRODUCCION, na.rm = TRUE)) %>%
  arrange(desc(max_prod)) -> Hortalizas2022
#
Hortalizas2022

Escribir los datos

Usaremos la biblioteca readr para guardar nuestros datos en formato csv

write_csv(Hortalizas2022, "Boy_Hortalizas_2022.csv")

Se comprueba que el archivo ha sido creado:

list.files()
##  [1] "BaseEVA_Agrícola20192022.xlsx" "BM"                           
##  [3] "Boy.ctOE.gpkg"                 "Boy_Hortalizas_2022.csv"      
##  [5] "Boyaca_Eva.qgz"                "Boyacamun.gpkg"               
##  [7] "co.csv"                        "Cuaderno2.nb.html"            
##  [9] "Cuaderno2.Rmd"                 "Cuaderno2_files"              
## [11] "EVA_19_22.xlsx"                "Eva_Boyaca.csv"               
## [13] "EVA_boyacaproduccion.nb.html"  "EVA_boyacaproduccion.Rmd"     
## [15] "img1.png"                      "img2.png"                     
## [17] "img3.png"                      "Mapadeproduccion_Boy.html"    
## [19] "Mapadeproduccion_Boy.Rmd"      "pandoca6c3d16567e.nb.html"    
## [21] "rsconnect"                     "SHP_MGN2018_INTGRD_MPIO.zip"  
## [23] "worldcities.csv"

Se lee el archivo para comprobar que los datos son correctos:

los_datos22 <- read_csv("Boy_Hortalizas_2022.csv")
## Rows: 96 Columns: 4
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (2): MUNICIPIO, GRUPO
## dbl (2): COD_MUN, max_prod
## 
## ℹ 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.
los_datos22

Tenga en cuenta que la columna COD_MUN ahora es doble (es decir, numérica). Este no es el tipo de datos común para identificadores.

En caso de que necesitemos cambiar dicho tipo de datos, podemos usar mutate:

los_datos22 %>% mutate(COD_MUN = as.character(COD_MUN)) -> nuevos_datos22 
head(nuevos_datos22)

Ahora se puede crear el cuaderno donde se uniran los datos de producción del año 2022 a los polígonos que representan a los municipios de nuestro departamento (Boyacá).

Referencia

Lizarazo, I. 2023. How to read and subset .xlsx agricultural statistics data. Available at https://rpubs.com/otra_vez_eva

Reproducibilidad

sessionInfo()
## R version 4.3.1 (2023-06-16 ucrt)
## Platform: x86_64-w64-mingw32/x64 (64-bit)
## Running under: Windows 11 x64 (build 22621)
## 
## Matrix products: default
## 
## 
## locale:
## [1] LC_COLLATE=Spanish_Colombia.utf8  LC_CTYPE=Spanish_Colombia.utf8   
## [3] LC_MONETARY=Spanish_Colombia.utf8 LC_NUMERIC=C                     
## [5] LC_TIME=Spanish_Colombia.utf8    
## 
## time zone: America/Bogota
## tzcode source: internal
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
## [1] dplyr_1.1.3  readr_2.1.4  readxl_1.4.3
## 
## loaded via a namespace (and not attached):
##  [1] crayon_1.5.2      vctrs_0.6.3       cli_3.6.1         knitr_1.43       
##  [5] rlang_1.1.1       xfun_0.40         generics_0.1.3    jsonlite_1.8.7   
##  [9] bit_4.0.5         glue_1.6.2        htmltools_0.5.6   sass_0.4.7       
## [13] hms_1.1.3         fansi_1.0.4       rmarkdown_2.24    cellranger_1.1.0 
## [17] evaluate_0.21     jquerylib_0.1.4   tibble_3.2.1      tzdb_0.4.0       
## [21] fastmap_1.1.1     yaml_2.3.7        lifecycle_1.0.3   compiler_4.3.1   
## [25] pkgconfig_2.0.3   rstudioapi_0.15.0 digest_0.6.33     R6_2.5.1         
## [29] tidyselect_1.2.0  utf8_1.2.3        parallel_4.3.1    vroom_1.6.3      
## [33] pillar_1.9.0      magrittr_2.0.3    bslib_0.5.1       bit64_4.0.5      
## [37] tools_4.3.1       cachem_1.0.8