1. Introduccion

Este cuaderno presenta algunas estadisticas agricolas del año 2021 en los municipios que componen el departamento del Tolima, usando como fuente de datos la evaluacion agricola municipal elaborada por la Unidad de Planeacion Rural Agropecuaria (UPRA)

El archivo utilizado se puede descargar de este enlace

2. Setup

# setup
# install.packages("leaflet")
# install.packages("tidyverse")
# install.packages("readxl")
# cargar librerias (una vez las hemos instalado y luego marcado con #)
library(leaflet)
library(tidyverse)
library(readxl)

3. Lectura del Archivo EVA

En el espacio de trabajo identificamos los archivos de formato excel usando la siguiente formula.

# (archivos = list.files(pattern='xls'))
list.files(path ="./INPUTS",pattern = "xls")
[1] "BaseEVA_Agrícola2021.xlsx" "EVA2021.xlsx"              "EVA2022.xlsx"             
(hojas = readxl::excel_sheets("./INPUTS/EVA2021.xlsx"))
[1] "AgricolaDesagregados"
#ahora que hicimos la ruta y seleccionamos el archivo, ahora si
EVA2021 = readxl::read_excel("./INPUTS/EVA2021.xlsx",sheet = "AgricolaDesagregados")

Para hacer visible el objeto EVA2021 y su informacion:

EVA2021

4. Filtrado de filas correspondientes al departamento del Tolima.

Ahora que tenemos la base de datos con la cual vamos a trabajar, debemos filtrarla de manera que unicamente el departamento Tolima sea seleccionado junto con su informacion. Para esto filtramos.

tolima2021 = dplyr::filter(EVA2021, DEP == "Tolima")
tolima2021

#5. Limpieza de datos correspondientes al departamento de Tolima.

Algunas de las columnas asociadas a la informacion del departamento no son de nuestro interes, por lo que se deben eliminar: codigo del municipio y ciclo del cultivo. Para esto realizamos las siguientes acciones

#install.packages("dplyr")
library(dplyr)
tolima2021.tmp <- tolima2021%>%select("CODMUN":"CICLO")
tolima2021

Para definir valores numericos en campos que están definidos como datos de caracteres, procedemos a cambiar el tipo de columnas mediante la siguiente accion.

tolima2021%>%mutate(AREASEMB=as.numeric(AREASEMB),
                    AREACOS=as.numeric(AREACOS),
                    PROD=as.numeric(PROD),
                    REND=as.numeric(REND))->tolima2021
tolima2021

6. Procesamiento y analisis de datos del departamento del Tolima

Para obtener la produccion total por cultivo en el departamento del Tolima, se hace lo siguiente:

tolima2021%>%
  filter(PROD>0)%>%
  group_by(CULTIVO)%>%
  summarise(total_PROD=sum(PROD))%>%
  arrange(desc(total_PROD))

Observamos que la caña, el arroz y el maiz fueron los cultivos de mayor importancia en 2021 en el departamento.

Para obtener los datos de los cultivos mas producidos por municipio realizamos lo siguiente:

tolima2021 %>% 
  group_by(CULTIVO, MUN) %>%
  summarize(max_prod = max(PROD, 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.

Para obtener los datos de categoria de cultivo por municipio, realizamos la siguente accion.

tolima2021%>%
  group_by(GRUPOCULT,MUN)%>%
  summarize(max_prod = max(PROD, na.rm = TRUE))%>%
  slice(which.max(max_prod))%>%
  arrange(desc(max_prod))
`summarise()` has grouped output by 'GRUPOCULT'. You can override using the `.groups` argument.
tolima2021 %>%
  group_by(CODMUN, MUN, GRUPOCULT) %>%
  filter(GRUPOCULT=="Frutales")%>%
  summarize(max_prod = max(PROD, na.rm=TRUE)) %>%
  arrange(desc(max_prod))-> frutales2021
`summarise()` has grouped output by 'CODMUN', 'MUN'. You can override using the `.groups` argument.
  
frutales2021
NA
tolima2021%>%
  group_by(CODMUN,MUN,GRUPOCULT)%>%
  filter(GRUPOCULT=="Leguminosas") %>%
  summarize(max_prod=max(PROD,na.rm = TRUE))%>%
  arrange(desc(max_prod))->leguminosas2021
`summarise()` has grouped output by 'CODMUN', 'MUN'. You can override using the `.groups` argument.
leguminosas2021
tolima2021%>%
  group_by(CODMUN,MUN,GRUPOCULT)%>%
  filter(GRUPOCULT=="Oleaginosas") %>%
  summarize(max_prod=max(PROD,na.rm = TRUE))%>%
  arrange(desc(max_prod))->oleaginosas2021
`summarise()` has grouped output by 'CODMUN', 'MUN'. You can override using the `.groups` argument.
oleaginosas2021
tolima2021%>%
  group_by(CODMUN,MUN,GRUPOCULT)%>%
  filter(GRUPOCULT=="Cultivos Tropicales Tradicionales") %>%
  summarize(max_prod=max(PROD,na.rm = TRUE))%>%
  arrange(desc(max_prod))->CTT2021
`summarise()` has grouped output by 'CODMUN', 'MUN'. You can override using the `.groups` argument.
CTT2021

7. Escribir en archivo los datos seleccionados

Almacenamos los datos que filtramos y escogimos.

write_csv(frutales2021,"./tolima_frutales_2021.csv")
write_csv(oleaginosas2021,"./tolima_oleaginosas_2021.csv")
write_csv(leguminosas2021,"./tolima_leguminosas_2021.csv")
write_csv(CTT2021,"./CTTolima_2021.csv")

8. Reproduccion

Citar este trabajo como: Campos, I. Lectura y procesamiento de estadísticas y datos de agricultura en el 2021 para el departamento del Tolima.

sessionInfo()
R version 4.2.1 (2022-06-23 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 
[2] LC_CTYPE=Spanish_Colombia.utf8   
[3] LC_MONETARY=Spanish_Colombia.utf8
[4] LC_NUMERIC=C                     
[5] LC_TIME=Spanish_Colombia.utf8    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods  
[7] base     

other attached packages:
 [1] leaflet_2.1.1   readxl_1.4.1    forcats_0.5.2   stringr_1.4.1  
 [5] purrr_0.3.4     readr_2.1.2     tidyr_1.2.0     tibble_3.1.8   
 [9] ggplot2_3.3.6   tidyverse_1.3.2 dplyr_1.0.9    

loaded via a namespace (and not attached):
 [1] lubridate_1.8.0         leaflet.providers_1.9.0
 [3] assertthat_0.2.1        digest_0.6.29          
 [5] utf8_1.2.2              R6_2.5.1               
 [7] cellranger_1.1.0        backports_1.4.1        
 [9] reprex_2.0.2            evaluate_0.16          
[11] httr_1.4.4              pillar_1.8.1           
[13] rlang_1.0.4             googlesheets4_1.0.1    
[15] rstudioapi_0.13         jquerylib_0.1.4        
[17] rmarkdown_2.16          googledrive_2.0.0      
[19] htmlwidgets_1.5.4       bit_4.0.4              
[21] munsell_0.5.0           broom_1.0.1            
[23] compiler_4.2.1          modelr_0.1.9           
[25] xfun_0.32               pkgconfig_2.0.3        
[27] htmltools_0.5.3         tidyselect_1.1.2       
[29] fansi_1.0.3             crayon_1.5.1           
[31] tzdb_0.3.0              dbplyr_2.2.1           
[33] withr_2.5.0             grid_4.2.1             
[35] jsonlite_1.8.0          gtable_0.3.1           
[37] lifecycle_1.0.1         DBI_1.1.3              
[39] magrittr_2.0.3          scales_1.2.1           
[41] vroom_1.5.7             cli_3.3.0              
[43] stringi_1.7.8           cachem_1.0.6           
[45] fs_1.5.2                xml2_1.3.3             
[47] bslib_0.4.0             ellipsis_0.3.2         
[49] generics_0.1.3          vctrs_0.4.1            
[51] tools_4.2.1             bit64_4.0.5            
[53] glue_1.6.2              hms_1.1.2              
[55] crosstalk_1.2.0         parallel_4.2.1         
[57] fastmap_1.1.0           yaml_2.3.5             
[59] colorspace_2.0-3        gargle_1.2.1           
[61] rvest_1.0.3             knitr_1.40             
[63] haven_2.5.0             sass_0.4.2             
LS0tDQp0aXRsZTogIkV2YWx1YWNpb25lcyBhZ3LDrWNvbGFzIG11bmljaXBhbGVzIGVuIFRvbGltYSINCmF1dGhvcjogR2FicmllbGEgU29maWEgQ2FtcG9zIEphaW1lcw0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCg0KIyAxLiBJbnRyb2R1Y2Npb24NCkVzdGUgY3VhZGVybm8gcHJlc2VudGEgYWxndW5hcyBlc3RhZGlzdGljYXMgYWdyaWNvbGFzIGRlbCBhw7FvIDIwMjEgZW4gbG9zIG11bmljaXBpb3MgcXVlIGNvbXBvbmVuIGVsIGRlcGFydGFtZW50byBkZWwgVG9saW1hLCB1c2FuZG8gY29tbyBmdWVudGUgZGUgZGF0b3MgbGEgZXZhbHVhY2lvbiBhZ3JpY29sYSBtdW5pY2lwYWwgZWxhYm9yYWRhIHBvciBsYSBVbmlkYWQgZGUgUGxhbmVhY2lvbiBSdXJhbCBBZ3JvcGVjdWFyaWEgKFVQUkEpDQoNCkVsIGFyY2hpdm8gdXRpbGl6YWRvIHNlIHB1ZWRlIGRlc2NhcmdhciBkZSBbZXN0ZSBlbmxhY2VdKGh0dHBzOi8vd3d3LnVwcmEuZ292LmNvL3dlYi9ndWVzdC9ldmEtMjAyMSkNCg0KIyAyLiBTZXR1cA0KDQpgYGB7cn0NCiMgc2V0dXANCiMgaW5zdGFsbC5wYWNrYWdlcygibGVhZmxldCIpDQojIGluc3RhbGwucGFja2FnZXMoInRpZHl2ZXJzZSIpDQojIGluc3RhbGwucGFja2FnZXMoInJlYWR4bCIpDQpgYGANCg0KYGBge3J9DQojIGNhcmdhciBsaWJyZXJpYXMgKHVuYSB2ZXogbGFzIGhlbW9zIGluc3RhbGFkbyB5IGx1ZWdvIG1hcmNhZG8gY29uICMpDQpsaWJyYXJ5KGxlYWZsZXQpDQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCmxpYnJhcnkocmVhZHhsKQ0KYGBgDQoNCiMgMy4gTGVjdHVyYSBkZWwgQXJjaGl2byBFVkENCg0KRW4gZWwgZXNwYWNpbyBkZSB0cmFiYWpvIGlkZW50aWZpY2Ftb3MgbG9zIGFyY2hpdm9zIGRlIGZvcm1hdG8gZXhjZWwgdXNhbmRvIGxhIHNpZ3VpZW50ZSBmb3JtdWxhLg0KYGBge3J9DQojIChhcmNoaXZvcyA9IGxpc3QuZmlsZXMocGF0dGVybj0neGxzJykpDQpsaXN0LmZpbGVzKHBhdGggPSIuL0lOUFVUUyIscGF0dGVybiA9ICJ4bHMiKQ0KYGBgDQpgYGB7cn0NCihob2phcyA9IHJlYWR4bDo6ZXhjZWxfc2hlZXRzKCIuL0lOUFVUUy9FVkEyMDIxLnhsc3giKSkNCmBgYA0KDQpgYGB7cn0NCiNhaG9yYSBxdWUgaGljaW1vcyBsYSBydXRhIHkgc2VsZWNjaW9uYW1vcyBlbCBhcmNoaXZvLCBhaG9yYSBzaQ0KRVZBMjAyMSA9IHJlYWR4bDo6cmVhZF9leGNlbCgiLi9JTlBVVFMvRVZBMjAyMS54bHN4IixzaGVldCA9ICJBZ3JpY29sYURlc2FncmVnYWRvcyIpDQpgYGANCg0KUGFyYSBoYWNlciB2aXNpYmxlIGVsIG9iamV0byBFVkEyMDIxIHkgc3UgaW5mb3JtYWNpb246DQoNCmBgYHtyfQ0KRVZBMjAyMQ0KYGBgDQoNCg0KIyA0LiBGaWx0cmFkbyBkZSBmaWxhcyBjb3JyZXNwb25kaWVudGVzIGFsIGRlcGFydGFtZW50byBkZWwgVG9saW1hLg0KDQpBaG9yYSBxdWUgdGVuZW1vcyBsYSBiYXNlIGRlIGRhdG9zIGNvbiBsYSBjdWFsIHZhbW9zIGEgdHJhYmFqYXIsIGRlYmVtb3MgZmlsdHJhcmxhIGRlIG1hbmVyYSBxdWUgdW5pY2FtZW50ZSBlbCBkZXBhcnRhbWVudG8gVG9saW1hIHNlYSBzZWxlY2Npb25hZG8ganVudG8gY29uIHN1IGluZm9ybWFjaW9uLg0KUGFyYSBlc3RvIGZpbHRyYW1vcy4NCmBgYHtyfQ0KdG9saW1hMjAyMSA9IGRwbHlyOjpmaWx0ZXIoRVZBMjAyMSwgREVQID09ICJUb2xpbWEiKQ0KYGBgDQogDQpgYGB7cn0NCnRvbGltYTIwMjENCmBgYA0KDQojNS4gTGltcGllemEgZGUgZGF0b3MgY29ycmVzcG9uZGllbnRlcyBhbCBkZXBhcnRhbWVudG8gZGUgVG9saW1hLg0KDQpBbGd1bmFzIGRlIGxhcyBjb2x1bW5hcyBhc29jaWFkYXMgYSBsYSBpbmZvcm1hY2lvbiBkZWwgZGVwYXJ0YW1lbnRvIG5vIHNvbiBkZSBudWVzdHJvIGludGVyZXMsIHBvciBsbyBxdWUgc2UgZGViZW4gZWxpbWluYXI6IGNvZGlnbyBkZWwgbXVuaWNpcGlvIHkgY2ljbG8gZGVsIGN1bHRpdm8uIFBhcmEgZXN0byByZWFsaXphbW9zIGxhcyBzaWd1aWVudGVzIGFjY2lvbmVzDQpgYGB7cn0NCiNpbnN0YWxsLnBhY2thZ2VzKCJkcGx5ciIpDQpsaWJyYXJ5KGRwbHlyKQ0KYGBgDQoNCg0KYGBge3J9DQp0b2xpbWEyMDIxLnRtcCA8LSB0b2xpbWEyMDIxJT4lc2VsZWN0KCJDT0RNVU4iOiJDSUNMTyIpDQp0b2xpbWEyMDIxDQpgYGANCg0KUGFyYSBkZWZpbmlyIHZhbG9yZXMgbnVtZXJpY29zIGVuIGNhbXBvcyBxdWUgZXN0w6FuIGRlZmluaWRvcyBjb21vIGRhdG9zIGRlIGNhcmFjdGVyZXMsIHByb2NlZGVtb3MgYSBjYW1iaWFyIGVsIHRpcG8gZGUgY29sdW1uYXMgbWVkaWFudGUgbGEgc2lndWllbnRlIGFjY2lvbi4NCmBgYHtyfQ0KdG9saW1hMjAyMSU+JW11dGF0ZShBUkVBU0VNQj1hcy5udW1lcmljKEFSRUFTRU1CKSwNCiAgICAgICAgICAgICAgICAgICAgQVJFQUNPUz1hcy5udW1lcmljKEFSRUFDT1MpLA0KICAgICAgICAgICAgICAgICAgICBQUk9EPWFzLm51bWVyaWMoUFJPRCksDQogICAgICAgICAgICAgICAgICAgIFJFTkQ9YXMubnVtZXJpYyhSRU5EKSktPnRvbGltYTIwMjENCnRvbGltYTIwMjENCmBgYA0KDQojIDYuIFByb2Nlc2FtaWVudG8geSBhbmFsaXNpcyBkZSBkYXRvcyBkZWwgZGVwYXJ0YW1lbnRvIGRlbCBUb2xpbWENCg0KDQpQYXJhIG9idGVuZXIgbGEgcHJvZHVjY2lvbiB0b3RhbCBwb3IgY3VsdGl2byBlbiBlbCBkZXBhcnRhbWVudG8gZGVsIFRvbGltYSwgc2UgaGFjZSBsbyBzaWd1aWVudGU6DQoNCmBgYHtyfQ0KdG9saW1hMjAyMSU+JQ0KICBmaWx0ZXIoUFJPRD4wKSU+JQ0KICBncm91cF9ieShDVUxUSVZPKSU+JQ0KICBzdW1tYXJpc2UodG90YWxfUFJPRD1zdW0oUFJPRCkpJT4lDQogIGFycmFuZ2UoZGVzYyh0b3RhbF9QUk9EKSkNCmBgYA0KT2JzZXJ2YW1vcyBxdWUgbGEgY2HDsWEsIGVsIGFycm96IHkgZWwgbWFpeiBmdWVyb24gbG9zIGN1bHRpdm9zIGRlIG1heW9yIGltcG9ydGFuY2lhIGVuIDIwMjEgZW4gZWwgZGVwYXJ0YW1lbnRvLg0KDQpQYXJhIG9idGVuZXIgbG9zIGRhdG9zIGRlIGxvcyBjdWx0aXZvcyBtYXMgcHJvZHVjaWRvcyBwb3IgbXVuaWNpcGlvIHJlYWxpemFtb3MgbG8gc2lndWllbnRlOg0KYGBge3J9DQp0b2xpbWEyMDIxICU+JSANCiAgZ3JvdXBfYnkoQ1VMVElWTywgTVVOKSAlPiUNCiAgc3VtbWFyaXplKG1heF9wcm9kID0gbWF4KFBST0QsIG5hLnJtID0gVFJVRSkpICU+JQ0KICBzbGljZSh3aGljaC5tYXgobWF4X3Byb2QpKSAlPiUNCiAgYXJyYW5nZShkZXNjKG1heF9wcm9kKSkNCmBgYA0KDQpQYXJhIG9idGVuZXIgbG9zIGRhdG9zIGRlIGNhdGVnb3JpYSBkZSBjdWx0aXZvIHBvciBtdW5pY2lwaW8sIHJlYWxpemFtb3MgbGEgc2lndWVudGUgYWNjaW9uLg0KDQpgYGB7cn0NCnRvbGltYTIwMjElPiUNCiAgZ3JvdXBfYnkoR1JVUE9DVUxULE1VTiklPiUNCiAgc3VtbWFyaXplKG1heF9wcm9kID0gbWF4KFBST0QsIG5hLnJtID0gVFJVRSkpJT4lDQogIHNsaWNlKHdoaWNoLm1heChtYXhfcHJvZCkpJT4lDQogIGFycmFuZ2UoZGVzYyhtYXhfcHJvZCkpDQpgYGANCg0KDQpgYGB7cn0NCnRvbGltYTIwMjEgJT4lDQogIGdyb3VwX2J5KENPRE1VTiwgTVVOLCBHUlVQT0NVTFQpICU+JQ0KICBmaWx0ZXIoR1JVUE9DVUxUPT0iRnJ1dGFsZXMiKSU+JQ0KICBzdW1tYXJpemUobWF4X3Byb2QgPSBtYXgoUFJPRCwgbmEucm09VFJVRSkpICU+JQ0KICBhcnJhbmdlKGRlc2MobWF4X3Byb2QpKS0+IGZydXRhbGVzMjAyMQ0KYGBgDQpgYGB7cn0NCmZydXRhbGVzMjAyMQ0KYGBgDQpgYGB7cn0NCnRvbGltYTIwMjElPiUNCiAgZ3JvdXBfYnkoQ09ETVVOLE1VTixHUlVQT0NVTFQpJT4lDQogIGZpbHRlcihHUlVQT0NVTFQ9PSJMZWd1bWlub3NhcyIpICU+JQ0KICBzdW1tYXJpemUobWF4X3Byb2Q9bWF4KFBST0QsbmEucm0gPSBUUlVFKSklPiUNCiAgYXJyYW5nZShkZXNjKG1heF9wcm9kKSktPmxlZ3VtaW5vc2FzMjAyMQ0KYGBgDQpgYGB7cn0NCmxlZ3VtaW5vc2FzMjAyMQ0KYGBgDQpgYGB7cn0NCnRvbGltYTIwMjElPiUNCiAgZ3JvdXBfYnkoQ09ETVVOLE1VTixHUlVQT0NVTFQpJT4lDQogIGZpbHRlcihHUlVQT0NVTFQ9PSJPbGVhZ2lub3NhcyIpICU+JQ0KICBzdW1tYXJpemUobWF4X3Byb2Q9bWF4KFBST0QsbmEucm0gPSBUUlVFKSklPiUNCiAgYXJyYW5nZShkZXNjKG1heF9wcm9kKSktPm9sZWFnaW5vc2FzMjAyMQ0KYGBgDQoNCmBgYHtyfQ0Kb2xlYWdpbm9zYXMyMDIxDQpgYGANCmBgYHtyfQ0KdG9saW1hMjAyMSU+JQ0KICBncm91cF9ieShDT0RNVU4sTVVOLEdSVVBPQ1VMVCklPiUNCiAgZmlsdGVyKEdSVVBPQ1VMVD09IkN1bHRpdm9zIFRyb3BpY2FsZXMgVHJhZGljaW9uYWxlcyIpICU+JQ0KICBzdW1tYXJpemUobWF4X3Byb2Q9bWF4KFBST0QsbmEucm0gPSBUUlVFKSklPiUNCiAgYXJyYW5nZShkZXNjKG1heF9wcm9kKSktPkNUVDIwMjENCmBgYA0KYGBge3J9DQpDVFQyMDIxDQpgYGANCg0KIyA3LiBFc2NyaWJpciBlbiBhcmNoaXZvIGxvcyBkYXRvcyBzZWxlY2Npb25hZG9zDQoNCkFsbWFjZW5hbW9zIGxvcyBkYXRvcyBxdWUgZmlsdHJhbW9zIHkgZXNjb2dpbW9zLg0KDQpgYGB7cn0NCiN3cml0ZV9jc3YoZnJ1dGFsZXMyMDIxLCIuL3RvbGltYV9mcnV0YWxlc18yMDIxLmNzdiIpDQojd3JpdGVfY3N2KG9sZWFnaW5vc2FzMjAyMSwiLi90b2xpbWFfb2xlYWdpbm9zYXNfMjAyMS5jc3YiKQ0KI3dyaXRlX2NzdihsZWd1bWlub3NhczIwMjEsIi4vdG9saW1hX2xlZ3VtaW5vc2FzXzIwMjEuY3N2IikNCiN3cml0ZV9jc3YoQ1RUMjAyMSwiLi9DVFRvbGltYV8yMDIxLmNzdiIpDQoNCmBgYA0KDQojIDguIFJlcHJvZHVjY2lvbg0KDQpDaXRhciBlc3RlIHRyYWJham8gY29tbzogQ2FtcG9zLCBJLiBMZWN0dXJhIHkgcHJvY2VzYW1pZW50byBkZSBlc3RhZMOtc3RpY2FzIHkgZGF0b3MgZGUgYWdyaWN1bHR1cmEgZW4gZWwgMjAyMSBwYXJhIGVsIGRlcGFydGFtZW50byBkZWwgVG9saW1hLiANCmBgYHtyfQ0Kc2Vzc2lvbkluZm8oKQ0KYGBgDQoNCg==