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.
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.
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
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.html" "EVA_boyacaproduccion.nb.html"
## [15] "EVA_boyacaproduccion.Rmd" "img1.png"
## [17] "img2.png" "img3.png"
## [19] "Mapadeproduccion_Boy.html" "Mapadeproduccion_Boy.Rmd"
## [21] "pandoca6c3d16567e.nb.html" "rsconnect"
## [23] "SHP_MGN2018_INTGRD_MPIO.zip" "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.
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))
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
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.html" "EVA_boyacaproduccion.nb.html"
## [15] "EVA_boyacaproduccion.Rmd" "img1.png"
## [17] "img2.png" "img3.png"
## [19] "Mapadeproduccion_Boy.html" "Mapadeproduccion_Boy.Rmd"
## [21] "pandoca6c3d16567e.nb.html" "rsconnect"
## [23] "SHP_MGN2018_INTGRD_MPIO.zip" "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á).
Lizarazo, I. 2023. How to read and subset .xlsx agricultural statistics data. Available at https://rpubs.com/otra_vez_eva
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