Este es el primer book R para Geomatica Basica 2023, en el se van a poder observar los cultivos agrícolas de mayor producción en el departamento del Bolivar y a se desglozara a partir de las Evaluaciones Agropecuarias Municipales (EVA) producidas por la UPRA para el año 2020.
Esta sera la configuracion utilizada para la lectura y analisis del archivo EVA
library(tidyverse)
En este espacio vamos a leer el archivo con los datos de estadísticas agropecuarias municipales y lo describimos.
EVA <- read.csv("C:/cuaderno1R/eva.csv")
Revisamos los encabezados del archivo
head(EVA)
## CÓD...DEP. DEPARTAMENTO CÓD..MUN. MUNICIPIO GRUPO..DE.CULTIVO
## 1 15 BOYACA 15114 BUSBANZA HORTALIZAS
## 2 25 CUNDINAMARCA 25754 SOACHA HORTALIZAS
## 3 25 CUNDINAMARCA 25214 COTA HORTALIZAS
## 4 54 NORTE DE SANTANDER 54405 LOS PATIOS HORTALIZAS
## 5 54 NORTE DE SANTANDER 54518 PAMPLONA HORTALIZAS
## 6 68 SANTANDER 68377 LA BELLEZA HORTALIZAS
## SUBGRUPO..DE.CULTIVO CULTIVO DESAGREGACIÓN.REGIONAL.Y.O.SISTEMA.PRODUCTIVO
## 1 ACELGA ACELGA ACELGA
## 2 ACELGA ACELGA ACELGA
## 3 ACELGA ACELGA ACELGA
## 4 ACELGA ACELGA ACELGA
## 5 ACELGA ACELGA ACELGA
## 6 ACELGA ACELGA ACELGA
## AÑO PERIODO Área.Sembrada..ha. Área.Cosechada..ha. Producción..t.
## 1 2006 2006B 2 1 1
## 2 2006 2006B 82 80 1440
## 3 2006 2006B 2 2 26
## 4 2006 2006B 3 3 48
## 5 2006 2006B 1 1 5
## 6 2006 2006B 1 1 6
## Rendimiento..t.ha. ESTADO.FISICO.PRODUCCION NOMBRE..CIENTIFICO
## 1 1.00 FRUTO FRESCO BETA VULGARIS
## 2 18.00 FRUTO FRESCO BETA VULGARIS
## 3 17.33 FRUTO FRESCO BETA VULGARIS
## 4 16.00 FRUTO FRESCO BETA VULGARIS
## 5 10.00 FRUTO FRESCO BETA VULGARIS
## 6 6.00 FRUTO FRESCO BETA VULGARIS
## CICLO.DE.CULTIVO
## 1 TRANSITORIO
## 2 TRANSITORIO
## 3 TRANSITORIO
## 4 TRANSITORIO
## 5 TRANSITORIO
## 6 TRANSITORIO
Revisamos los nombres de los atributos de EVA.
names(EVA)
## [1] "CÓD...DEP."
## [2] "DEPARTAMENTO"
## [3] "CÓD..MUN."
## [4] "MUNICIPIO"
## [5] "GRUPO..DE.CULTIVO"
## [6] "SUBGRUPO..DE.CULTIVO"
## [7] "CULTIVO"
## [8] "DESAGREGACIÓN.REGIONAL.Y.O.SISTEMA.PRODUCTIVO"
## [9] "AÑO"
## [10] "PERIODO"
## [11] "Área.Sembrada..ha."
## [12] "Área.Cosechada..ha."
## [13] "Producción..t."
## [14] "Rendimiento..t.ha."
## [15] "ESTADO.FISICO.PRODUCCION"
## [16] "NOMBRE..CIENTIFICO"
## [17] "CICLO.DE.CULTIVO"
Ahora se Cambiaran los nombres de EVA para un mejor manejo de los datos.
nombres = c("COD_DEP","DEPARTAMENTO","COD_MUN","MUNICIPIO","GRUPO_CULTIVO","SUB_CULTIVO","CULTIVO","DESAG","YEAR","PERIODO","AREA_SIEMBRA","AREA_COSECHA","PRODUCCION","RENDIMIENTO","ESTADO","NOMBRE","CICLO" )
(names(EVA) = nombres)
## [1] "COD_DEP" "DEPARTAMENTO" "COD_MUN" "MUNICIPIO"
## [5] "GRUPO_CULTIVO" "SUB_CULTIVO" "CULTIVO" "DESAG"
## [9] "YEAR" "PERIODO" "AREA_SIEMBRA" "AREA_COSECHA"
## [13] "PRODUCCION" "RENDIMIENTO" "ESTADO" "NOMBRE"
## [17] "CICLO"
Luego de cambiar los nombres de los atributos de Eva, filtramos los datos de nuestro departamento de interes Bolivar.
bolivar= dplyr::filter(EVA, DEPARTAMENTO == "BOLIVAR")
head(bolivar)
## COD_DEP DEPARTAMENTO COD_MUN MUNICIPIO GRUPO_CULTIVO SUB_CULTIVO
## 1 13 BOLIVAR 13244 EL CARMEN DE BOLIVAR FRUTALES AGUACATE
## 2 13 BOLIVAR 13654 SAN JACINTO FRUTALES AGUACATE
## 3 13 BOLIVAR 13006 ACHI FRUTALES AGUACATE
## 4 13 BOLIVAR 13074 BARRANCO DE LOBA FRUTALES AGUACATE
## 5 13 BOLIVAR 13268 EL PEÑON FRUTALES AGUACATE
## 6 13 BOLIVAR 13244 EL CARMEN DE BOLIVAR FRUTALES AGUACATE
## CULTIVO DESAG YEAR PERIODO AREA_SIEMBRA AREA_COSECHA PRODUCCION
## 1 AGUACATE AGUACATE 2007 2007 3400 2600 31200
## 2 AGUACATE AGUACATE 2007 2007 660 600 10800
## 3 AGUACATE AGUACATE 2007 2007 80 80 800
## 4 AGUACATE AGUACATE 2007 2007 18 18 180
## 5 AGUACATE AGUACATE 2007 2007 10 10 100
## 6 AGUACATE AGUACATE 2008 2008 3500 2700 32400
## RENDIMIENTO ESTADO NOMBRE CICLO
## 1 12 FRUTO FRESCO PERSEA AMERICANA MILL. PERMANENTE
## 2 18 FRUTO FRESCO PERSEA AMERICANA MILL. PERMANENTE
## 3 10 FRUTO FRESCO PERSEA AMERICANA MILL. PERMANENTE
## 4 10 FRUTO FRESCO PERSEA AMERICANA MILL. PERMANENTE
## 5 10 FRUTO FRESCO PERSEA AMERICANA MILL. PERMANENTE
## 6 12 FRUTO FRESCO PERSEA AMERICANA MILL. PERMANENTE
bolivar.tmp <- bolivar %>% select("COD_MUN":"RENDIMIENTO")
teniendo exclusivamente los datos correpondientes al departamento del Bolivar, se filtraran estos mismo datos, pero ahora solo a las áreas de interés.
head(bolivar.tmp)
## COD_MUN MUNICIPIO GRUPO_CULTIVO SUB_CULTIVO CULTIVO DESAG YEAR
## 1 13244 EL CARMEN DE BOLIVAR FRUTALES AGUACATE AGUACATE AGUACATE 2007
## 2 13654 SAN JACINTO FRUTALES AGUACATE AGUACATE AGUACATE 2007
## 3 13006 ACHI FRUTALES AGUACATE AGUACATE AGUACATE 2007
## 4 13074 BARRANCO DE LOBA FRUTALES AGUACATE AGUACATE AGUACATE 2007
## 5 13268 EL PEÑON FRUTALES AGUACATE AGUACATE AGUACATE 2007
## 6 13244 EL CARMEN DE BOLIVAR FRUTALES AGUACATE AGUACATE AGUACATE 2008
## PERIODO AREA_SIEMBRA AREA_COSECHA PRODUCCION RENDIMIENTO
## 1 2007 3400 2600 31200 12
## 2 2007 660 600 10800 18
## 3 2007 80 80 800 10
## 4 2007 18 18 180 10
## 5 2007 10 10 100 10
## 6 2008 3500 2700 32400 12
Se observa que los datos filtrados corresponden a distintos periodos de tiempo (años). Para este caso, se requiere la lectura de los datos recientes, por lo que se va a consultar a que años pertenecen los datos filtrados anteriormente.
unique(bolivar.tmp$YEAR)
## [1] 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2006
Los datos filtrados correponden a un periodo de tiempo entre el 2006 y el 2018, p el siguiente paso consiste en filtrar los datos para tomar los mas recientes (2018).
bolivar2018 = dplyr::filter(bolivar.tmp, YEAR == 2018)
Estadisticas agropecuarias del departamento del Bolivar correspondientes al 2018.
head (bolivar2018)
## COD_MUN MUNICIPIO GRUPO_CULTIVO SUB_CULTIVO CULTIVO DESAG YEAR
## 1 13244 EL CARMEN DE BOLIVAR FRUTALES AGUACATE AGUACATE AGUACATE 2018
## 2 13654 SAN JACINTO FRUTALES AGUACATE AGUACATE AGUACATE 2018
## 3 13688 SANTA ROSA DEL SUR FRUTALES AGUACATE AGUACATE AGUACATE 2018
## 4 13667 SAN MARTIN DE LOBA FRUTALES AGUACATE AGUACATE AGUACATE 2018
## 5 13006 ACHI FRUTALES AGUACATE AGUACATE AGUACATE 2018
## 6 13074 BARRANCO DE LOBA FRUTALES AGUACATE AGUACATE AGUACATE 2018
## PERIODO AREA_SIEMBRA AREA_COSECHA PRODUCCION RENDIMIENTO
## 1 2018 2140 1880 18800 10
## 2 2018 530 350 5250 15
## 3 2018 123 123 1230 10
## 4 2018 90 70 700 10
## 5 2018 80 80 1200 15
## 6 2018 15 15 150 10
Ahora se analizan los datos resultantes. Se analizara la producción total de los distintos cultivos ubicados en el departamento del Bolivar.
bolivar2018 %>%
filter(PRODUCCION>0) %>% group_by(CULTIVO) %>% summarize(total_produccion = sum(PRODUCCION)) %>% arrange(desc(total_produccion))
## # A tibble: 37 × 2
## CULTIVO total_produccion
## <chr> <int>
## 1 YUCA 434923
## 2 ÑAME 192250
## 3 PALMA DE ACEITE 137226
## 4 MAIZ 82479
## 5 PLATANO 81195
## 6 ARROZ 66205
## 7 AGUACATE 27444
## 8 MANGO 24673
## 9 AHUYAMA 13237
## 10 CAÑA PANELERA 7001
## # … with 27 more rows
Se analiza en que municipios se encuentran los cultivos y cual es su produccion total,organizando los datos de mayor a menor.
bolivar2018 %>%
group_by(CULTIVO, MUNICIPIO) %>%
summarize(max_prod = max(PRODUCCION, na.rm = TRUE)) %>%
slice(which.max(max_prod)) %>%
arrange(desc(max_prod))
## `summarise()` has grouped output by 'CULTIVO'. You can override using the
## `.groups` argument.
## # A tibble: 38 × 3
## # Groups: CULTIVO [38]
## CULTIVO MUNICIPIO max_prod
## <chr> <chr> <int>
## 1 ÑAME SAN JUAN NEPOMUCENO 69000
## 2 YUCA MAHATES 67500
## 3 PALMA DE ACEITE SAN PABLO 40511
## 4 ARROZ SAN JACINTO DEL CAUCA 18926
## 5 AGUACATE EL CARMEN DE BOLIVAR 18800
## 6 PLATANO MARIA LA BAJA 18000
## 7 MAIZ SAN JUAN NEPOMUCENO 11380
## 8 MANGO VILLANUEVA 6786
## 9 AHUYAMA MAGANGUE 6299
## 10 MELON MAHATES 4200
## # … with 28 more rows
Luego de analizar los datos de mayor producción, se pasara de un cultivo especifico a un grupo de cultivo y de la misma forma se indicará en que municipio se da su producción máxima.
bolivar2018 %>%
group_by(GRUPO_CULTIVO,MUNICIPIO) %>%
summarize(max_prod = max(PRODUCCION, na.rm = TRUE)) %>%
slice(which.max(max_prod)) %>%
arrange(desc(max_prod))
## `summarise()` has grouped output by 'GRUPO_CULTIVO'. You can override using the
## `.groups` argument.
## # A tibble: 10 × 3
## # Groups: GRUPO_CULTIVO [10]
## GRUPO_CULTIVO MUNICIPIO max_prod
## <chr> <chr> <int>
## 1 TUBERCULOS Y PLATANOS SAN JUAN NEPOMUCENO 69000
## 2 OLEAGINOSAS SAN PABLO 40511
## 3 CEREALES SAN JACINTO DEL CAUCA 18926
## 4 FRUTALES EL CARMEN DE BOLIVAR 18800
## 5 HORTALIZAS MAGANGUE 6299
## 6 OTROS PERMANENTES SANTA ROSA DEL SUR 3510
## 7 LEGUMINOSAS EL GUAMO 554
## 8 OTROS TRANSITORIOS EL CARMEN DE BOLIVAR 450
## 9 FORESTALES SAN PABLO 85
## 10 FLORES Y FOLLAJES SAN JACINTO 0
Luego, se procesan y se analizan los datos del grupo del cultivo con mayor producción en el departamento del Bolivar, en que municipios se encuentran y su respectivo código. Dicha producción se organiza de mayor a menor.
bolivar2018 %>%
group_by(COD_MUN,MUNICIPIO,GRUPO_CULTIVO) %>%
filter(GRUPO_CULTIVO =='TUBERCULOS Y PLATANOS') %>%
summarize(max_prod = max(PRODUCCION, na.rm = TRUE)) %>%
arrange(desc(max_prod)) -> TYP2018
## `summarise()` has grouped output by 'COD_MUN', 'MUNICIPIO'. You can override
## using the `.groups` argument.
TYP2018
## # A tibble: 46 × 4
## # Groups: COD_MUN, MUNICIPIO [46]
## COD_MUN MUNICIPIO GRUPO_CULTIVO max_prod
## <int> <chr> <chr> <int>
## 1 13657 SAN JUAN NEPOMUCENO TUBERCULOS Y PLATANOS 69000
## 2 13433 MAHATES TUBERCULOS Y PLATANOS 67500
## 3 13244 EL CARMEN DE BOLIVAR TUBERCULOS Y PLATANOS 47250
## 4 13873 VILLANUEVA TUBERCULOS Y PLATANOS 29400
## 5 13654 SAN JACINTO TUBERCULOS Y PLATANOS 19250
## 6 13442 MARIA LA BAJA TUBERCULOS Y PLATANOS 18000
## 7 13894 ZAMBRANO TUBERCULOS Y PLATANOS 16000
## 8 13670 SAN PABLO TUBERCULOS Y PLATANOS 12600
## 9 13473 MORALES TUBERCULOS Y PLATANOS 12000
## 10 13688 SANTA ROSA DEL SUR TUBERCULOS Y PLATANOS 11700
## # … with 36 more rows
Al igual que con el primer grupo de cultivo, se procesa el segundo grupo, que en este caso es OLEAGINOSAS, para esto se analizan aspectos como, producción total, municipios en los que se da y su respectivo código.
bolivar2018 %>%
group_by(COD_MUN, MUNICIPIO, GRUPO_CULTIVO) %>%
filter(GRUPO_CULTIVO =='OLEAGINOSAS') %>%
summarize(max_prod = max(PRODUCCION, na.rm = TRUE)) %>%
arrange(desc(max_prod)) -> OLEAGINOSAS2018
## `summarise()` has grouped output by 'COD_MUN', 'MUNICIPIO'. You can override
## using the `.groups` argument.
OLEAGINOSAS2018
## # A tibble: 16 × 4
## # Groups: COD_MUN, MUNICIPIO [16]
## COD_MUN MUNICIPIO GRUPO_CULTIVO max_prod
## <int> <chr> <chr> <int>
## 1 13670 SAN PABLO OLEAGINOSAS 40511
## 2 13442 MARIA LA BAJA OLEAGINOSAS 34202
## 3 13744 SIMITI OLEAGINOSAS 19238
## 4 13580 REGIDOR OLEAGINOSAS 18000
## 5 13600 RIO VIEJO OLEAGINOSAS 9000
## 6 13433 MAHATES OLEAGINOSAS 5334
## 7 13268 EL PEÑON OLEAGINOSAS 3560
## 8 13473 MORALES OLEAGINOSAS 2034
## 9 13894 ZAMBRANO OLEAGINOSAS 1650
## 10 13490 NOROSI OLEAGINOSAS 1085
## 11 13160 CANTAGALLO OLEAGINOSAS 1055
## 12 13212 CORDOBA OLEAGINOSAS 960
## 13 13052 ARJONA OLEAGINOSAS 777
## 14 13673 SANTA CATALINA OLEAGINOSAS 407
## 15 13042 ARENAL OLEAGINOSAS 373
## 16 13836 TURBACO OLEAGINOSAS 0
Se guardan los datos de los dos grupos de cultivo más relevantes del departamento del Bolivar.
write_csv(TYP2018, "C:/cuaderno1R/TYP2018.csv")
write_csv(OLEAGINOSAS2018, "C:/cuaderno1R/OLEAGINOSAS2018.csv")
Cuaderno realizado en base a: Lizarazo, I. Reading and processing municipal agricultural statistics for 2020. https://rpubs.com/ials2un/readingEVAv1.
sessionInfo()
## R version 4.2.3 (2023-03-15 ucrt)
## Platform: x86_64-w64-mingw32/x64 (64-bit)
## Running under: Windows 10 x64 (build 19044)
##
## 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
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] lubridate_1.9.2 forcats_1.0.0 stringr_1.5.0 dplyr_1.1.0
## [5] purrr_1.0.1 readr_2.1.4 tidyr_1.3.0 tibble_3.2.0
## [9] ggplot2_3.4.1 tidyverse_2.0.0
##
## loaded via a namespace (and not attached):
## [1] bslib_0.4.2 compiler_4.2.3 pillar_1.8.1 jquerylib_0.1.4
## [5] tools_4.2.3 bit_4.0.5 digest_0.6.31 timechange_0.2.0
## [9] jsonlite_1.8.4 evaluate_0.20 lifecycle_1.0.3 gtable_0.3.2
## [13] pkgconfig_2.0.3 rlang_1.1.0 cli_3.6.0 rstudioapi_0.14
## [17] parallel_4.2.3 yaml_2.3.7 xfun_0.37 fastmap_1.1.1
## [21] withr_2.5.0 knitr_1.42 hms_1.1.2 generics_0.1.3
## [25] sass_0.4.5 vctrs_0.6.0 bit64_4.0.5 grid_4.2.3
## [29] tidyselect_1.2.0 glue_1.6.2 R6_2.5.1 fansi_1.0.4
## [33] vroom_1.6.1 rmarkdown_2.20 tzdb_0.3.0 magrittr_2.0.3
## [37] ellipsis_0.3.2 scales_1.2.1 htmltools_0.5.4 colorspace_2.1-0
## [41] utf8_1.2.3 stringi_1.7.12 munsell_0.5.0 cachem_1.0.7
## [45] crayon_1.5.2