1. Introducción

En este cuaderno se ilustraran subconjuntos de datos del EVA 2019-2022 proporcionados por el UPRA en https://upra.gov.co/es-co/Evas_Documentos/BaseEVA_Agr%C3%ADcola20192022.xlsx.

Esto ayudara a los estudiantes de Geomatica Basica a adquirir habilidades digitakes en R.

2. Prerequisitos

El archivo descargado se tiene que dejar en el misma carpeta donde se encuentra este cuaderno.

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.

3. Configuración

Limpiar la memoria temporal:

rm(list=ls())

Instalar y cargar las librerias de R

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

4. Leer 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] "CUADERNO_EVA.Rproj"       "EVA_19_22.xlsx"          
## [3] "EVA_DATOS_UPRA.nb.html"   "EVA_DATOS_UPRA.Rmd"      
## [5] "Tolima_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:

hojas <- excel_sheets("EVA_19_22.xlsx")

Lo leemos:

hojas
## [1] "DatosEVA2019-2022"

Solo se encuentra una hoja:

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

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

5. Datos de subconjunto para su departamento

Como estamos interesados ​​solo en un departamento necesitamos filtrar EVA19_22:

(Tolima19_22 = dplyr::filter(EVA19_22, DPTO == "Tolima"))

Ahora, seleccionaremos solo datos de 2022:

(Tolima_22 = dplyr::filter(Tolima19_22, YEAR == 2022))

6. Subconjunto del grupo de cultivos que estás analizando

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

Tolima_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

7. Escribe los datos

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

write_csv(cereales2022, "Tolima_cereales_2022.csv")

Comprobemos que el archivo ha sido creado:

list.files()
## [1] "CUADERNO_EVA.Rproj"       "EVA_19_22.xlsx"          
## [3] "EVA_DATOS_UPRA.nb.html"   "EVA_DATOS_UPRA.Rmd"      
## [5] "Tolima_cereales_2022.csv"

Leamos el archivo para comprobar que los datos son correctos:

los_datos22 <- read_csv("Tolima_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)

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.

8. Información

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.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.1 sass_0.4.7       
## [13] hms_1.1.3         fansi_1.0.5       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   digest_0.6.33     R6_2.5.1          tidyselect_1.2.0 
## [29] utf8_1.2.3        parallel_4.3.1    vroom_1.6.4       pillar_1.9.0     
## [33] magrittr_2.0.3    bslib_0.5.1       bit64_4.0.5       tools_4.3.1      
## [37] cachem_1.0.8