1. Introducción
2. Configuración
Se dio comienzo cargando las librerías ya instaladas necesarias para
el análisis: tidyverse, dplyr,
ggplot2 y readr.
library(tidyverse)
library(dplyr)
library(readr)
library(ggplot2)
3. Leer datos obtenidos de EVA
Una vez descargado el archivo de EVA, se verifica la dirección del
archivo:
list.files("D:/GB2/P3/Proyecto Qgis", pattern=c('csv'))
[1] "Base agrícola 2019 - 2023.csv" "Base Agricola Boyaca.csv"
A continuación se realiza la lectura del archivo Base
agrícola 2019 - 2023:
(eva = read_csv2("D:/GB2/P3/Proyecto Qgis/Base agrícola 2019 - 2023.csv", locale = locale(encoding = "Latin1"), col_names = TRUE,
show_col_types = FALSE))
G3;ℹ Using "','" as decimal and "'.'" as grouping mark. Use `read_delim()` for more control.
g
4. Eliminar columnas no deseadas
Se seleccionan los atributos necesarios para limpiar la base de
datos:
eva %>% dplyr::select('CodigoDaneMunicipio':'EstadoFisicodelCultivo') -> eva.tmp
eva.tmp
Se revisa que la selección de columnas se haya realizaso
correctamente. Luego, se renombran las columnas que contengan carácteres
con ruido:
eva.tmp %>% dplyr::rename('cod_Mun' = 'CodigoDaneMunicipio', 'Grupo' = 'GrupoCultivo',
'Sistema' = 'DesagregacionCultivo',
'Estado' = 'EstadoFisicodelCultivo') -> new_eva
5. Análisis de datos
La librería dplyr facilita la realización de dividir los datos en
grupos mediante la función group_by(). Una vez agrupados, se puede usar
summarize() para generar un resumen de una fila por grupo, aplicando
funciones de agregación o resumen.
5.1 Cultivos más importantes entre 2019 y 2023
Si se desea saber la producción total por grupo de cultivos, se
escribe:
new_eva %>%
##filter(Produccion > 0) %>%
group_by(Grupo) %>%
summarize(total_produccion = sum(Produccion)) %>%
arrange(desc(total_produccion))
Para guardar la producción total en un objeto:
new_eva %>%
group_by(Grupo) %>%
summarize(total_produccion = sum(Produccion)) -> PT
Para filtrar los cultivos más importantes:
PT %>%
filter(total_produccion > 1000000) -> main.groups
Para conocer la producción total de los mprincipales grupos de
cultivos:
(value = sum(main.groups$total_produccion))
[1] 17892768
Para agregar un nuevo atributo con porcentaje de la producción
total:
main.groups$percent = main.groups$total_produccion/value
Para crear un gráfico circular de la producción total de
main.groups:
library(ggplot2)
# Barplot
bp<- ggplot(main.groups, aes(x="", y=percent, fill=Grupo))+
geom_bar(width = 1, stat = "identity")
# Piechart
pie <- bp + coord_polar("y", start=0)
pie

5.2 Municipios líderes
Para conocer los municipios que lideraron la producción de cada
cultivo entre 2019 y 2023:
new_eva %>%
group_by(Grupo, Municipio) %>%
summarize(total_prod = sum(Produccion, na.rm = TRUE)) %>%
slice(which.max(total_prod)) %>%
arrange(desc(total_prod))
`summarise()` has grouped output by 'Grupo'. You can override using the `.groups` argument.
Se filtra para saber cuáles son los municipios más importantes en el
ámbito agrícola:
leaders %>%
filter(total_prod > 50000) -> main.leaders
Se crea un diagrama de barras para los municipios más
importantes:
p<-ggplot(data=main.leaders, aes(x=Municipio, y=total_prod)) +
geom_bar(stat="identity")
p

5.3 Un cultivo importante entre 2019 y 2023
new_eva %>%
filter(Municipio=="Chitaraque" & Cultivo=="Café") %>%
group_by(Year, Cultivo) %>%
select(Municipio, Cultivo, Produccion, Year) -> chitaraque_cafe
Se crea un gráfico de la producción de café en Chitaraque para todo
el período de tiempo:
g <- ggplot(aes(x=Year, y=Produccion/1000), data = chitaraque_cafe) + geom_bar(stat='identity') + labs(y='Produccion de Café [Ton x 1000]')
g + ggtitle("Evolucion de la Produccion del Cultivo de Café en Chitaraque desde 2019 a 2023") + labs(caption= "Based on EVA data (EVA, 2023)")

7. Detalles del entorno computacional
sessionInfo()
R version 4.3.2 (2023-10-31 ucrt)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 11 x64 (build 22631)
Matrix products: default
locale:
[1] LC_COLLATE=Spanish_Colombia.utf8 LC_CTYPE=Spanish_Colombia.utf8 LC_MONETARY=Spanish_Colombia.utf8
[4] LC_NUMERIC=C 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] lubridate_1.9.4 forcats_1.0.0 stringr_1.5.1 dplyr_1.1.4 purrr_1.0.2 readr_2.1.5 tidyr_1.3.1
[8] tibble_3.2.1 ggplot2_3.4.4 tidyverse_2.0.0
loaded via a namespace (and not attached):
[1] sass_0.4.8 utf8_1.2.4 generics_0.1.3 bitops_1.0-7 stringi_1.8.3 hms_1.1.3
[7] digest_0.6.34 magrittr_2.0.3 timechange_0.3.0 evaluate_0.23 grid_4.3.2 fastmap_1.1.1
[13] jsonlite_1.8.8 brio_1.1.4 httr_1.4.7 fansi_1.0.6 scales_1.3.0 jquerylib_0.1.4
[19] cli_3.6.2 crayon_1.5.2 rlang_1.1.3 swirl_2.4.5 bit64_4.0.5 munsell_0.5.0
[25] withr_3.0.0 cachem_1.0.8 yaml_2.3.8 parallel_4.3.2 tools_4.3.2 tzdb_0.4.0
[31] colorspace_2.1-0 vctrs_0.6.5 R6_2.5.1 lifecycle_1.0.4 bit_4.0.5 vroom_1.6.5
[37] pkgconfig_2.0.3 pillar_1.9.0 bslib_0.6.1 gtable_0.3.4 rsconnect_1.4.1 glue_1.7.0
[43] xfun_0.52 tidyselect_1.2.1 rstudioapi_0.17.1 knitr_1.45 farver_2.1.1 htmltools_0.5.7
[49] labeling_0.4.3 rmarkdown_2.25 testthat_3.2.1 compiler_4.3.2 RCurl_1.98-1.14
LS0tDQp0aXRsZTogIlRlcmNlciBjdWFkZXJubyBkZSBSOiBEaW7DoW1pY2EgZGUgbGEgcHJvZHVjY2nDs24gZGUgY3VsdGl2b3MiDQphdXRob3I6ICJZYW5ldGggQWxleGFuZHJhIEFyZW5hcyBHYXJyaWRvIg0KZGF0ZTogDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KIyAxLiBJbnRyb2R1Y2Npw7NuDQojIyMjIEVuIGVzdGUgY3VhZGVybm8gc2UgcHJlc2VudGFuIGxvcyByZXN1bHRhZG9zIGRlIGxhIG9idGVuY2nDs24gZGUgZXN0YWTDrXN0aWNhcyBwbHVyaWFudWFsZXMgZGUgdW4gZ3J1cG8gZGUgY3VsdGl2b3MgZGVsIGRlcGFydGFtZW50byBkZSBCb3lhY8OhLiBMb3MgZGF0b3MgZnVlcm9uIGV4dHJhw61kb3MgZGUgbGFzIEV2YWx1YWNpb25lcyBBZ3JvcGVjdWFyaWFzIE11bmljaXBhbGVzIChFVkEpLCB1bmEgYmFzZSBkZSBpbmZvcm1hY2nDs24gYWdyw61jb2xhIHF1ZSBhYmFyY2EgZWwgcGVyw61vZG8gMjAxOS0yMDIzIHkgcXVlIGVzIHByb3BvcmNpb25hZGEgcG9yIGVsIE1pbmlzdGVyaW8gZGUgQWdyaWN1bHR1cmEgeSBEZXNhcnJvbGxvIFJ1cmFsLiBBIHBhcnRpciBkZSBlc3RhIGZ1ZW50ZSwgc2UgbGxldsOzIGEgY2FibyBlbCBwcm9jZXNhbWllbnRvIHkgYW7DoWxpc2lzIGRlIGxhIGluZm9ybWFjacOzbiBjb24gZWwgZmluIGRlIGdlbmVyYXIgbG9zIHJlc3VsdGFkb3MgcXVlIHNlIG11ZXN0cmFuIGEgY29udGludWFjacOzbi4NCg0KIyAyLiBDb25maWd1cmFjacOzbg0KIyMjIyBTZSBkaW8gY29taWVuem8gY2FyZ2FuZG8gbGFzIGxpYnJlcsOtYXMgeWEgaW5zdGFsYWRhcyBuZWNlc2FyaWFzIHBhcmEgZWwgYW7DoWxpc2lzOiAgKip0aWR5dmVyc2UqKiwgKipkcGx5cioqLCAqKmdncGxvdDIqKiB5ICoqcmVhZHIqKi4NCg0KYGBge3J9DQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCmxpYnJhcnkoZHBseXIpDQpsaWJyYXJ5KHJlYWRyKQ0KbGlicmFyeShnZ3Bsb3QyKQ0KYGBgDQoNCiMgMy4gTGVlciBkYXRvcyBvYnRlbmlkb3MgZGUgRVZBDQojIyMjIFVuYSB2ZXogZGVzY2FyZ2FkbyBlbCBhcmNoaXZvIGRlIEVWQSwgc2UgdmVyaWZpY2EgbGEgZGlyZWNjacOzbiBkZWwgYXJjaGl2bzoNCmBgYHtyfQ0KbGlzdC5maWxlcygiRDovR0IyL1AzL1Byb3llY3RvIFFnaXMiLCBwYXR0ZXJuPWMoJ2NzdicpKQ0KYGBgDQojIyMjIEEgY29udGludWFjacOzbiBzZSByZWFsaXphIGxhIGxlY3R1cmEgZGVsIGFyY2hpdm8gKipCYXNlIGFncsOtY29sYSAyMDE5IC0gMjAyMyoqOg0KYGBge3J9DQooZXZhID0gcmVhZF9jc3YyKCJEOi9HQjIvUDMvUHJveWVjdG8gUWdpcy9CYXNlIGFncmnMgWNvbGEgMjAxOSAtIDIwMjMuY3N2IiwgbG9jYWxlID0gbG9jYWxlKGVuY29kaW5nID0gIkxhdGluMSIpLCBjb2xfbmFtZXMgPSBUUlVFLA0KICAgICAgICAgICAgICAgIHNob3dfY29sX3R5cGVzID0gRkFMU0UpKQ0KYGBgDQojIyMjIFNlIHJldmlzYSBsYSBpbmZvcm1hY2nDs24gZGUgbGEgdGFibGEgcGFyYSBjb25maXJtYXIgcXVlIGNvbnRlbmdhIGxhcyBlc3RhZMOtc3RpY2FzIGFncsOtY29sYXMgZGUgbG9zIGHDsW9zIHJlcXVlcmlkb3MuIEFob3JhIHNlIGF2ZXJpZ3VhIHNpIGVsIHNvZnR3YXJlIHJlY29ub2NlIGxvcyBub21icmVzIGRlIGxhIHRhYmxhOg0KDQpgYGB7cn0NCm5hbWVzKGV2YSkNCmBgYA0KIyA0LiBFbGltaW5hciBjb2x1bW5hcyBubyBkZXNlYWRhcw0KIyMjIyBTZSBzZWxlY2Npb25hbiBsb3MgYXRyaWJ1dG9zIG5lY2VzYXJpb3MgcGFyYSBsaW1waWFyIGxhIGJhc2UgZGUgZGF0b3M6DQoNCmBgYHtyfQ0KZXZhICU+JSBkcGx5cjo6c2VsZWN0KCdDb2RpZ29EYW5lTXVuaWNpcGlvJzonRXN0YWRvRmlzaWNvZGVsQ3VsdGl2bycpIC0+IGV2YS50bXANCmBgYA0KDQpgYGB7cn0NCmV2YS50bXANCmBgYA0KIyMjIyBTZSByZXZpc2EgcXVlIGxhIHNlbGVjY2nDs24gZGUgY29sdW1uYXMgc2UgaGF5YSByZWFsaXphc28gY29ycmVjdGFtZW50ZS4gTHVlZ28sIHNlIHJlbm9tYnJhbiBsYXMgY29sdW1uYXMgcXVlIGNvbnRlbmdhbiBjYXLDoWN0ZXJlcyBjb24gcnVpZG86DQoNCmBgYHtyfQ0KZXZhLnRtcCAlPiUgIGRwbHlyOjpyZW5hbWUoJ2NvZF9NdW4nID0gJ0NvZGlnb0RhbmVNdW5pY2lwaW8nLCAnR3J1cG8nID0gJ0dydXBvQ3VsdGl2bycsICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgJ1Npc3RlbWEnID0gJ0Rlc2FncmVnYWNpb25DdWx0aXZvJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAnRXN0YWRvJyA9ICdFc3RhZG9GaXNpY29kZWxDdWx0aXZvJykgLT4gbmV3X2V2YQ0KYGBgDQoNCiMjIyMgU2UgdmVyaWZpY2E6DQoNCmBgYHtyfQ0KbmV3X2V2YQ0KYGBgDQojIDUuIEFuw6FsaXNpcyBkZSBkYXRvcw0KIyMjIyBMYSBsaWJyZXLDrWEgZHBseXIgZmFjaWxpdGEgbGEgcmVhbGl6YWNpw7NuIGRlIGRpdmlkaXIgbG9zIGRhdG9zIGVuIGdydXBvcyBtZWRpYW50ZSBsYSBmdW5jacOzbiBncm91cF9ieSgpLiBVbmEgdmV6IGFncnVwYWRvcywgc2UgcHVlZGUgdXNhciBzdW1tYXJpemUoKSBwYXJhIGdlbmVyYXIgdW4gcmVzdW1lbiBkZSB1bmEgZmlsYSBwb3IgZ3J1cG8sIGFwbGljYW5kbyBmdW5jaW9uZXMgZGUgYWdyZWdhY2nDs24gbyByZXN1bWVuLg0KDQojIyMgNS4xIEN1bHRpdm9zIG3DoXMgaW1wb3J0YW50ZXMgZW50cmUgMjAxOSB5IDIwMjMNCiMjIyMgU2kgc2UgZGVzZWEgc2FiZXIgbGEgcHJvZHVjY2nDs24gdG90YWwgcG9yIGdydXBvIGRlIGN1bHRpdm9zLCBzZSBlc2NyaWJlOg0KDQpgYGB7cn0NCm5ld19ldmEgJT4lDQogICMjZmlsdGVyKFByb2R1Y2Npb24gPiAwKSAlPiUNCiAgZ3JvdXBfYnkoR3J1cG8pICU+JQ0KICBzdW1tYXJpemUodG90YWxfcHJvZHVjY2lvbiA9IHN1bShQcm9kdWNjaW9uKSkgJT4lIA0KICBhcnJhbmdlKGRlc2ModG90YWxfcHJvZHVjY2lvbikpIA0KYGBgDQojIyMjIFBhcmEgZ3VhcmRhciBsYSBwcm9kdWNjacOzbiB0b3RhbCBlbiB1biBvYmpldG86IA0KDQpgYGB7cn0NCm5ld19ldmEgJT4lDQogIGdyb3VwX2J5KEdydXBvKSAlPiUNCiAgc3VtbWFyaXplKHRvdGFsX3Byb2R1Y2Npb24gPSBzdW0oUHJvZHVjY2lvbikpIC0+IFBUIA0KYGBgDQoNCiMjIyMgUGFyYSBmaWx0cmFyIGxvcyBjdWx0aXZvcyBtw6FzIGltcG9ydGFudGVzOg0KDQpgYGB7cn0NClBUICU+JSANCiAgZmlsdGVyKHRvdGFsX3Byb2R1Y2Npb24gPiAxMDAwMDAwKSAtPiBtYWluLmdyb3Vwcw0KYGBgDQoNCiMjIyMgUGFyYSBjb25vY2VyIGxhIHByb2R1Y2Npw7NuIHRvdGFsIGRlIGxvcyBtcHJpbmNpcGFsZXMgZ3J1cG9zIGRlIGN1bHRpdm9zOg0KDQpgYGB7cn0NCih2YWx1ZSA9IHN1bShtYWluLmdyb3VwcyR0b3RhbF9wcm9kdWNjaW9uKSkNCmBgYA0KIyMjIyBQYXJhIGFncmVnYXIgdW4gbnVldm8gYXRyaWJ1dG8gY29uIHBvcmNlbnRhamUgZGUgbGEgcHJvZHVjY2nDs24gdG90YWw6DQoNCmBgYHtyfQ0KbWFpbi5ncm91cHMkcGVyY2VudCA9IG1haW4uZ3JvdXBzJHRvdGFsX3Byb2R1Y2Npb24vdmFsdWUNCmBgYA0KDQojIyMjIFBhcmEgY3JlYXIgdW4gZ3LDoWZpY28gY2lyY3VsYXIgZGUgbGEgcHJvZHVjY2nDs24gdG90YWwgZGUgbWFpbi5ncm91cHM6DQoNCmBgYHtyfQ0KbGlicmFyeShnZ3Bsb3QyKQ0KIyBCYXJwbG90DQpicDwtIGdncGxvdChtYWluLmdyb3VwcywgYWVzKHg9IiIsIHk9cGVyY2VudCwgZmlsbD1HcnVwbykpKw0KZ2VvbV9iYXIod2lkdGggPSAxLCBzdGF0ID0gImlkZW50aXR5IikNCiMgUGllY2hhcnQNCnBpZSA8LSBicCArIGNvb3JkX3BvbGFyKCJ5Iiwgc3RhcnQ9MCkNCnBpZQ0KYGBgDQojIyMgNS4yIE11bmljaXBpb3MgbMOtZGVyZXMNCiMjIyMgUGFyYSBjb25vY2VyIGxvcyBtdW5pY2lwaW9zIHF1ZSBsaWRlcmFyb24gbGEgcHJvZHVjY2nDs24gZGUgY2FkYSBjdWx0aXZvIGVudHJlIDIwMTkgeSAyMDIzOg0KDQpgYGB7cn0NCm5ld19ldmEgJT4lDQogIGdyb3VwX2J5KEdydXBvLCBNdW5pY2lwaW8pICU+JQ0KICBzdW1tYXJpemUodG90YWxfcHJvZCA9IHN1bShQcm9kdWNjaW9uLCBuYS5ybSA9IFRSVUUpKSAlPiUNCiAgc2xpY2Uod2hpY2gubWF4KHRvdGFsX3Byb2QpKSAgJT4lDQogIGFycmFuZ2UoZGVzYyh0b3RhbF9wcm9kKSkNCmBgYA0KIyMjIyBTZSBndWFyZGEgbGEgaW5mb3JtYWNpw7NuOg0KDQpgYGB7cn0NCm5ld19ldmEgJT4lDQogIGdyb3VwX2J5KEdydXBvLCBNdW5pY2lwaW8pICU+JQ0KICBzdW1tYXJpemUodG90YWxfcHJvZCA9IHN1bShQcm9kdWNjaW9uLCBuYS5ybSA9IFRSVUUpKSAlPiUNCiAgc2xpY2Uod2hpY2gubWF4KHRvdGFsX3Byb2QpKSAgLT4gbGVhZGVycw0KYGBgDQpgYGB7cn0NCmxlYWRlcnMNCmBgYA0KIyMjIyBTZSBmaWx0cmEgcGFyYSBzYWJlciBjdcOhbGVzIHNvbiBsb3MgbXVuaWNpcGlvcyBtw6FzIGltcG9ydGFudGVzIGVuIGVsIMOhbWJpdG8gYWdyw61jb2xhOg0KDQpgYGB7cn0NCmxlYWRlcnMgJT4lIA0KICBmaWx0ZXIodG90YWxfcHJvZCA+IDUwMDAwKSAtPiBtYWluLmxlYWRlcnMNCmBgYA0KDQojIyMjIFNlIGNyZWEgdW4gZGlhZ3JhbWEgZGUgYmFycmFzIHBhcmEgbG9zIG11bmljaXBpb3MgbcOhcyBpbXBvcnRhbnRlczoNCg0KYGBge3J9DQpwPC1nZ3Bsb3QoZGF0YT1tYWluLmxlYWRlcnMsIGFlcyh4PU11bmljaXBpbywgeT10b3RhbF9wcm9kKSkgKw0KICBnZW9tX2JhcihzdGF0PSJpZGVudGl0eSIpDQpwDQoNCmBgYA0KIyMjIDUuMyBVbiBjdWx0aXZvIGltcG9ydGFudGUgZW50cmUgMjAxOSB5IDIwMjMNCg0KYGBge3J9DQpuZXdfZXZhICU+JSANCiAgZmlsdGVyKE11bmljaXBpbz09IkNoaXRhcmFxdWUiICYgQ3VsdGl2bz09IkNhZsOpIikgJT4lIA0KICBncm91cF9ieShZZWFyLCBDdWx0aXZvKSAlPiUNCiAgc2VsZWN0KE11bmljaXBpbywgQ3VsdGl2bywgUHJvZHVjY2lvbiwgWWVhcikgLT4gIGNoaXRhcmFxdWVfY2FmZQ0KYGBgDQoNCiMjIyMgU2UgcmV2aXNhIGxhIGluZm9ybWFjacOzbjoNCg0KYGBge3J9DQpjaGl0YXJhcXVlX2NhZmUNCmBgYA0KIyMjIyBTZSBjcmVhIHVuIGdyw6FmaWNvIGRlIGxhIHByb2R1Y2Npw7NuIGRlIGNhZsOpIGVuIENoaXRhcmFxdWUgcGFyYSB0b2RvIGVsIHBlcsOtb2RvIGRlIHRpZW1wbzoNCg0KYGBge3J9DQpnIDwtIGdncGxvdChhZXMoeD1ZZWFyLCB5PVByb2R1Y2Npb24vMTAwMCksIGRhdGEgPSBjaGl0YXJhcXVlX2NhZmUpICsgZ2VvbV9iYXIoc3RhdD0naWRlbnRpdHknKSArIGxhYnMoeT0nUHJvZHVjY2lvbiBkZSBDYWbDqSBbVG9uIHggMTAwMF0nKQ0KYGBgDQoNCmBgYHtyfQ0KZyArIGdndGl0bGUoIkV2b2x1Y2lvbiBkZSBsYSBQcm9kdWNjaW9uIGRlbCBDdWx0aXZvIGRlIENhZsOpIGVuIENoaXRhcmFxdWUgZGVzZGUgMjAxOSBhIDIwMjMiKSArIGxhYnMoY2FwdGlvbj0gIkJhc2VkIG9uIEVWQSBkYXRhIChFVkEsIDIwMjMpIikNCmBgYA0KIyA2LiBCaWJsaW9ncmFwaHkNCiMjIyMgTGl6YXJhem8sIEkuLCAyMDIyLiBVbmRlcnN0YW5kaW5nIGR5bmFtaWMgcHJvZHVjdGl2aXR5IG9mIGNyb3BzLiBBdmFpbGFibGUgYXQgaHR0cHM6Ly9ycHVicy5jb20vaWFsczJ1bi9wcm9kdWN0aW9uX2R5bl92MS4NCg0KIyA3LiBEZXRhbGxlcyBkZWwgZW50b3JubyBjb21wdXRhY2lvbmFsDQoNCmBgYHtyfQ0Kc2Vzc2lvbkluZm8oKQ0KYGBgDQoNCg==