Limpiar la memoria temporarl de R
rm(list = ls())
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
list.files()
## [1] "01.qgz"
## [2] "BaseEVA_Agrícola20192022.xlsx"
## [3] "Capturacafe.PNG"
## [4] "Diccionario_Datos_Niveles_Variables_MGN_CNPV2018Int.xlsx"
## [5] "EVA_19_22.xlsx"
## [6] "EVA_28_22.xlsx"
## [7] "huila_frutales_2022.csv"
## [8] "Huila_Mun.gpkg"
## [9] "MGN_ANM_MPIOS.dbf"
## [10] "MGN_ANM_MPIOS.prj"
## [11] "MGN_ANM_MPIOS.sbn"
## [12] "MGN_ANM_MPIOS.sbx"
## [13] "MGN_ANM_MPIOS.shp"
## [14] "MGN_ANM_MPIOS.shp.xml"
## [15] "MGN_ANM_MPIOS.shx"
## [16] "PROYECTO_EVA.html"
## [17] "PROYECTO_EVA.nb.html"
## [18] "PROYECTO_EVA.Rmd"
## [19] "PROYECTO_EVA02.html"
## [20] "PROYECTO_EVA02.Rmd"
## [21] "rsconnect"
Cargar las librerias de R
En este caso necesitamos el archivo “EVA_19_22.xlsx”, como se trata de excel es bueno saber cuantas hojas hay.
hojas <- excel_sheets("EVA_19_22.xlsx")
vamos a ver
hojas
## [1] "DatosEVA2019-2022"
Como hay una sola hoja, vamos a leerla
EVA19_22 = read_excel("EVA_19_22.xlsx")
EVA19_22
## # A tibble: 91,777 × 12
## COD_DPTO DEPTO COD_MUN MUNICIPIO CULTIVO GRUPO SUBGRUPO YEAR AREA_SIEMBRA
## <chr> <chr> <chr> <chr> <chr> <chr> <chr> <dbl> <dbl>
## 1 05 Antioqu… 05001 Medellín Aguaca… Frut… Demas f… 2019 24
## 2 05 Antioqu… 05001 Medellín Brevo Frut… Demas f… 2019 15
## 3 05 Antioqu… 05001 Medellín Fresa Frut… Demas f… 2019 29
## 4 05 Antioqu… 05001 Medellín Guayaba Frut… Mirtáce… 2019 2.5
## 5 05 Antioqu… 05001 Medellín Lima Frut… Cítricos 2019 7.5
## 6 05 Antioqu… 05001 Medellín Mandar… Frut… Cítricos 2019 14.5
## 7 05 Antioqu… 05001 Medellín Mango Frut… Demas f… 2019 8
## 8 05 Antioqu… 05001 Medellín Mora Frut… Demas f… 2019 146
## 9 05 Antioqu… 05001 Medellín Naranja Frut… Cítricos 2019 12.5
## 10 05 Antioqu… 05001 Medellín Plátano Frut… Demas f… 2019 160
## # ℹ 91,767 more rows
## # ℹ 3 more variables: AREA_COSECHA <dbl>, PRODUCCION <dbl>, RENDIMIENTO <dbl>
Tengamos en cuenta que la columna COD_MUN es un caracter (chr). este es el tipo de datoos comun para identificadores.
Como estamos interesados solo en un departmaneto , Huila, lo filtramos.
(huila19_22 = dplyr::filter(EVA19_22, DEPTO == "Huila"))
## # A tibble: 6,564 × 12
## COD_DPTO DEPTO COD_MUN MUNICIPIO CULTIVO GRUPO SUBGRUPO YEAR AREA_SIEMBRA
## <chr> <chr> <chr> <chr> <chr> <chr> <chr> <dbl> <dbl>
## 1 41 Huila 41001 Neiva Aguacate Frut… Demas f… 2019 128
## 2 41 Huila 41001 Neiva Badea Frut… Pasiflo… 2019 20
## 3 41 Huila 41001 Neiva Banano Frut… Demas f… 2019 279
## 4 41 Huila 41001 Neiva Curuba Frut… Pasiflo… 2019 10
## 5 41 Huila 41001 Neiva Granadilla Frut… Pasiflo… 2019 25
## 6 41 Huila 41001 Neiva Guanábana Frut… Anonáce… 2019 39
## 7 41 Huila 41001 Neiva Gulupa o … Frut… Pasiflo… 2019 21.5
## 8 41 Huila 41001 Neiva Lulo Frut… Solanác… 2019 50
## 9 41 Huila 41001 Neiva Mango Frut… Demas f… 2019 16
## 10 41 Huila 41001 Neiva Maracuyá Frut… Pasiflo… 2019 42
## # ℹ 6,554 more rows
## # ℹ 3 more variables: AREA_COSECHA <dbl>, PRODUCCION <dbl>, RENDIMIENTO <dbl>
Ahora seleccionaremos los datos mas recientes, año 2022.
(huila_22 = dplyr::filter(huila19_22, YEAR == 2022))
## # A tibble: 1,767 × 12
## COD_DPTO DEPTO COD_MUN MUNICIPIO CULTIVO GRUPO SUBGRUPO YEAR AREA_SIEMBRA
## <chr> <chr> <chr> <chr> <chr> <chr> <chr> <dbl> <dbl>
## 1 41 Huila 41001 Neiva Aguacate Frut… Demas f… 2022 160
## 2 41 Huila 41001 Neiva Badea Frut… Pasiflo… 2022 26
## 3 41 Huila 41001 Neiva Banano Frut… Demas f… 2022 297
## 4 41 Huila 41001 Neiva Curuba Frut… Pasiflo… 2022 26
## 5 41 Huila 41001 Neiva Granadilla Frut… Pasiflo… 2022 30.5
## 6 41 Huila 41001 Neiva Guanábana Frut… Anonáce… 2022 43.5
## 7 41 Huila 41001 Neiva Gulupa o … Frut… Pasiflo… 2022 27.5
## 8 41 Huila 41001 Neiva Limón Frut… Cítricos 2022 3.73
## 9 41 Huila 41001 Neiva Limón Frut… Cítricos 2022 137.
## 10 41 Huila 41001 Neiva Lulo Frut… Solanác… 2022 58
## # ℹ 1,757 more rows
## # ℹ 3 more variables: AREA_COSECHA <dbl>, PRODUCCION <dbl>, RENDIMIENTO <dbl>
Seleccionamos el cultivo de interes y resumimos la produccion por municipio.
huila_22 %>%
group_by(COD_MUN, MUNICIPIO, GRUPO) %>%
filter(GRUPO=='Frutales') %>%
summarize(max_prod = max(PRODUCCION, na.rm = TRUE)) %>%
arrange(desc(max_prod)) -> frutales2022
## `summarise()` has grouped output by 'COD_MUN', 'MUNICIPIO'. You can override
## using the `.groups` argument.
frutales2022
## # A tibble: 37 × 4
## # Groups: COD_MUN, MUNICIPIO [37]
## COD_MUN MUNICIPIO GRUPO max_prod
## <chr> <chr> <chr> <dbl>
## 1 41298 Garzón Frutales 41745
## 2 41551 Pitalito Frutales 31434
## 3 41020 Algeciras Frutales 12516
## 4 41359 Isnos Frutales 11487.
## 5 41006 Acevedo Frutales 11328
## 6 41799 Tello Frutales 9960
## 7 41530 Palestina Frutales 8608
## 8 41001 Neiva Frutales 8388.
## 9 41676 Santa María Frutales 8169
## 10 41306 Gigante Frutales 7452.
## # ℹ 27 more rows
Usaremos la libreria readr para guardar nuestros datos en formato csv :
write_csv(frutales2022, "huila_frutales_2022.csv")
Comprobaremos que el archivo .csv halla sido creado:
list.files()
## [1] "01.qgz"
## [2] "BaseEVA_Agrícola20192022.xlsx"
## [3] "Capturacafe.PNG"
## [4] "Diccionario_Datos_Niveles_Variables_MGN_CNPV2018Int.xlsx"
## [5] "EVA_19_22.xlsx"
## [6] "EVA_28_22.xlsx"
## [7] "huila_frutales_2022.csv"
## [8] "Huila_Mun.gpkg"
## [9] "MGN_ANM_MPIOS.dbf"
## [10] "MGN_ANM_MPIOS.prj"
## [11] "MGN_ANM_MPIOS.sbn"
## [12] "MGN_ANM_MPIOS.sbx"
## [13] "MGN_ANM_MPIOS.shp"
## [14] "MGN_ANM_MPIOS.shp.xml"
## [15] "MGN_ANM_MPIOS.shx"
## [16] "PROYECTO_EVA.html"
## [17] "PROYECTO_EVA.nb.html"
## [18] "PROYECTO_EVA.Rmd"
## [19] "PROYECTO_EVA02.html"
## [20] "PROYECTO_EVA02.Rmd"
## [21] "rsconnect"
Leamos el archivo para verificar que los datos esten correctos:
los_datos22 <- read_csv("huila_frutales_2022.csv")
## Rows: 37 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
## # A tibble: 37 × 4
## COD_MUN MUNICIPIO GRUPO max_prod
## <dbl> <chr> <chr> <dbl>
## 1 41298 Garzón Frutales 41745
## 2 41551 Pitalito Frutales 31434
## 3 41020 Algeciras Frutales 12516
## 4 41359 Isnos Frutales 11487.
## 5 41006 Acevedo Frutales 11328
## 6 41799 Tello Frutales 9960
## 7 41530 Palestina Frutales 8608
## 8 41001 Neiva Frutales 8388.
## 9 41676 Santa María Frutales 8169
## 10 41306 Gigante Frutales 7452.
## # ℹ 27 more rows
Tenga en cuenta que la columna COD_MUN ahora es doble (es decir, numérica(dbl)). 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)
## # A tibble: 6 × 4
## COD_MUN MUNICIPIO GRUPO max_prod
## <chr> <chr> <chr> <dbl>
## 1 41298 Garzón Frutales 41745
## 2 41551 Pitalito Frutales 31434
## 3 41020 Algeciras Frutales 12516
## 4 41359 Isnos Frutales 11487.
## 5 41006 Acevedo Frutales 11328
## 6 41799 Tello Frutales 9960
¡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 de la imagen: https://cafeguias.com/cafe-huila/#:~:text=En%20Huila%20se%20dedican%20unas%20154.000%20hect%C3%A1reas%20al,que%20se%20considerar%C3%ADa%20un%20cultivo%20del%20caf%C3%A9%20minifundista.
ESte cuaderno puede encontrarse en https://rpubs.com/alejandrotrian
sessionInfo()
## R version 4.3.1 (2023-06-16 ucrt)
## Platform: x86_64-w64-mingw32/x64 (64-bit)
## Running under: Windows 10 x64 (build 19045)
##
## 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 sass_0.4.7
## [13] hms_1.1.3 fansi_1.0.4 rmarkdown_2.25 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