Introducción

Este es un cuaderno muy simple que ilustra los subconjuntos de datos de estadísticos agrícolas del EVA 2019-2022 proporcionados por la UPRA en: https://upra.gov.co/es-co/Evas_Documentos/BaseEVA_Agr%C3%ADcola20192022.xlsx.

Su objetivo es ayudar a los estudiantes de Geomática Básica de la UNAL a adquirir habilidades digitales en R.

Requisitos previos

Sí ya descargó el archivo xlsx mencionado anteriormente y lo guardó en el mismo directorio donde se encuentra este cuaderno.

Cuando se abre en Excel, las primeras filas del archivo BaseEVA_Agricola20192022.xlsx tienen este aspecto:

-Luego, debe podar el archivo original para eliminar los banners y cambiar el nombre de las columnas para poder leerlo desde R. No debe haber espacios en blanco ni caracteres extraños en el nombre de ninguna columna.

Configuración

-Limpiar la memoria temporal:

rm(list=ls())

-Correr 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

Lea 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] "CuadernoEVA"                "CuadernoEVA.knit.md"       
## [3] "CuadernoEVA.nb.html"        "CuadernoEVA.Rmd"           
## [5] "pandoc1014613941c0.nb.html" "Tol_cereales_2022.csv"

-En este caso el archivo fijo es EVA_19_22.xlsx Como se trata de un archivo excel, conviene saber cuántas hojas hay:

setwd("C:/Users/camil/OneDrive/Escritorio/Geomatica/CuadernoEVA")
hojas <- excel_sheets("EVA_19_22.xlsx")
hojas
## [1] "DatosEVA2019-2022"

-Hay una sola hoja allí. Leámoslo:

library(readxl)
EVA_19_22 <- read_excel("C:/Users/camil/OneDrive/Escritorio/Geomatica/CuadernoEVA/EVA_19_22.xlsx", 
    sheet = "DatosEVA2019-2022")
EVA_19_22

-Tenga en cuenta que la columna COD_MUN es un carácter. Este es el tipo de datos común para los identificadores.

Datos de subconjunto para su departamento

-Como estamos interesados solo en un departamento necesitamos filtrar EVA_19_22:

(Tol_19_22 = dplyr::filter(EVA_19_22, DEPTO == "Tolima"))

-Ahora, seleccionaremos solo datos de 2022:

(Tol_19_22 = dplyr::filter(Tol_19_22, YEAR == 2022))

Subconjunto del grupo de cultivos que está analizando

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

Tol_19_22 %>%
  group_by(COD_MUN, MUNICIPIO, GRUPO) %>%
  filter(GRUPO=='Cereales') %>% 
  summarize(max_prod = max(PRODUCCION, na.rm = TRUE)) %>%
  arrange(desc(max_prod)) -> cereales2022
## `summarise()` has grouped output by 'COD_MUN', 'MUNICIPIO'. You can override
## using the `.groups` argument.
cereales2022

Escriba los datos

-Usaremos la biblioteca readr para guardar nuestros datos en formato csv:

write_csv(cereales2022, "Tol_cereales_2022.csv")

-Comprobemos que el archivo ha sido creado:

list.files()
## [1] "CuadernoEVA"           "CuadernoEVA.nb.html"   "CuadernoEVA.Rmd"      
## [4] "Tol_cereales_2022.csv"

-Leamos el archivo para comprobar que los datos son correctos:

los_datos22 <- read_csv("Tol_cereales_2022.csv")
## Rows: 44 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)

¡Bien hecho! Ahora, se puede proceder a crear el cuaderno donde uniremos los datos de producción de 2022 a los polígonos que representan a los municipios de nuestro departamento.

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_Mexico.utf8  LC_CTYPE=Spanish_Mexico.utf8   
## [3] LC_MONETARY=Spanish_Mexico.utf8 LC_NUMERIC=C                   
## [5] LC_TIME=Spanish_Mexico.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.44       
##  [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.25    cellranger_1.1.0 
## [17] evaluate_0.22     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.4      
## [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