Estadisticas agropecuarias de Caldas, Quindio y Risaralda

Introducción

Este es el cuaderno R Markdown numero 1 para el curso de Geomatica Basica 2023. El objetivo de este, es identificar los cultivos agricolas con mayor produccion en los departamentos de Caldas, Quindio y risaralda. Los datos manejados en este trabajo provienen de un archivo tipo excel el cual contiene las Evaluaciones Agropecuarias Municipales (EVA) elaboradas por la UPRA para el año 2020.

Configuración

En esta seccion escribimos codigo para cargar las librerias

library(dplyr)
#library(tidyr)

Datos

En esta seccion vamos a leer el archivo con los datos de estadisticas agropecuarias municipales y lo describimos

EVA<-read.csv("C:\\Users\\LENOVO\\Desktop\\Geomatica\\R\\EVA.csv")

Revisemos el encabezado de EVA:

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

Revisemos 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"

Asignemos nuevos nombres a nuestra tabla, los cuales nos permitan identificar con mayor facilidad información de interes

nombres <- c("cod_dpto","Dpto","cod_mun","mun", "grupo","subgrupo", "cultivo", "desag", "year", "periodo", "area_siembra", "area_cosecha", "produccion", "rendimiento", "estado", "nombre", "ciclo")
(names(EVA)=nombres)
##  [1] "cod_dpto"     "Dpto"         "cod_mun"      "mun"          "grupo"       
##  [6] "subgrupo"     "cultivo"      "desag"        "year"         "periodo"     
## [11] "area_siembra" "area_cosecha" "produccion"   "rendimiento"  "estado"      
## [16] "nombre"       "ciclo"
class(EVA)
## [1] "data.frame"
#EVA

Departamento

Se filtra la informacion del EVA para nuestros departamentos de interes (Caldas, Quindio y Risaralda)

eje_cafetero = dplyr::filter(EVA, Dpto == "CALDAS" | 
                              Dpto == "QUINDIO" |
                               Dpto == "RISARALDA")
#eje_cafetero
head(eje_cafetero)
##   cod_dpto    Dpto cod_mun         mun      grupo subgrupo  cultivo    desag
## 1       17  CALDAS   17541 PENSILVANIA HORTALIZAS   ACELGA   ACELGA   ACELGA
## 2       17  CALDAS   17541 PENSILVANIA HORTALIZAS   ACELGA   ACELGA   ACELGA
## 3       63 QUINDIO   63272    FILANDIA HORTALIZAS   ACELGA   ACELGA   ACELGA
## 4       63 QUINDIO   63272    FILANDIA HORTALIZAS   ACELGA   ACELGA   ACELGA
## 5       17  CALDAS   17495    NORCASIA   FRUTALES AGUACATE AGUACATE AGUACATE
## 6       17  CALDAS   17616   RISARALDA   FRUTALES AGUACATE AGUACATE AGUACATE
##   year periodo area_siembra area_cosecha produccion rendimiento       estado
## 1 2010   2010A            1            1          4         5.0 FRUTO FRESCO
## 2 2010   2010B            1            1          4         5.0 FRUTO FRESCO
## 3 2015   2015A            1            1          8        16.8 FRUTO FRESCO
## 4 2015   2015B            1            1          8        16.8 FRUTO FRESCO
## 5 2007    2007          249          229       1031         4.5 FRUTO FRESCO
## 6 2007    2007          150           28        336        12.0 FRUTO FRESCO
##                   nombre       ciclo
## 1          BETA VULGARIS TRANSITORIO
## 2          BETA VULGARIS TRANSITORIO
## 3          BETA VULGARIS TRANSITORIO
## 4          BETA VULGARIS TRANSITORIO
## 5 PERSEA AMERICANA MILL.  PERMANENTE
## 6 PERSEA AMERICANA MILL.  PERMANENTE
tail(eje_cafetero)
##       cod_dpto   Dpto cod_mun       mun      grupo  subgrupo   cultivo
## 12060       17 CALDAS   17001 MANIZALES HORTALIZAS ZANAHORIA ZANAHORIA
## 12061       17 CALDAS   17442   MARMATO HORTALIZAS ZANAHORIA ZANAHORIA
## 12062       17 CALDAS   17442   MARMATO HORTALIZAS ZANAHORIA ZANAHORIA
## 12063       17 CALDAS   17001 MANIZALES HORTALIZAS ZANAHORIA ZANAHORIA
## 12064       17 CALDAS   17495  NORCASIA   FRUTALES    ZAPOTE    ZAPOTE
## 12065       17 CALDAS   17495  NORCASIA   FRUTALES    ZAPOTE    ZAPOTE
##           desag year periodo area_siembra area_cosecha produccion rendimiento
## 12060 ZANAHORIA 2017   2017B           27           23        345       15.00
## 12061 ZANAHORIA 2017   2017B            1            1          3        3.00
## 12062 ZANAHORIA 2018   2018A           40           40        120        3.00
## 12063 ZANAHORIA 2018   2018A           31           31        468       15.09
## 12064    ZAPOTE 2008    2008           10           10        100       10.00
## 12065    ZAPOTE 2009    2009            5            5         50       10.00
##                 estado          nombre       ciclo
## 12060 HORTALIZA FRESCA    UMBELLIFERAE TRANSITORIO
## 12061 HORTALIZA FRESCA    UMBELLIFERAE TRANSITORIO
## 12062 HORTALIZA FRESCA    UMBELLIFERAE TRANSITORIO
## 12063 HORTALIZA FRESCA    UMBELLIFERAE TRANSITORIO
## 12064     FRUTO FRESCO POUTERIA SAPOTA  PERMANENTE
## 12065     FRUTO FRESCO POUTERIA SAPOTA  PERMANENTE

Limpieza de información filtrada

Hay columnas que no son relevantes. Las columnas importantes se guardaran en otro objeto

eje_cafetero.clean <- eje_cafetero %>% select(cod_mun, mun, cultivo)
head(eje_cafetero.clean)
##   cod_mun         mun  cultivo
## 1   17541 PENSILVANIA   ACELGA
## 2   17541 PENSILVANIA   ACELGA
## 3   63272    FILANDIA   ACELGA
## 4   63272    FILANDIA   ACELGA
## 5   17495    NORCASIA AGUACATE
## 6   17616   RISARALDA AGUACATE

Se realiza el cambio de columnas que representan valores numericos, identificadas como datos de tipo caracter, a información numerica.

eje_cafetero %>% mutate(area_siembra = as.numeric(area_siembra),
                       area_cosecha = as.numeric(area_cosecha),
                       produccion = as.numeric(produccion),
                       rendimiento = as.numeric(rendimiento)) -> eje_cafetero 
head(eje_cafetero)
##   cod_dpto    Dpto cod_mun         mun      grupo subgrupo  cultivo    desag
## 1       17  CALDAS   17541 PENSILVANIA HORTALIZAS   ACELGA   ACELGA   ACELGA
## 2       17  CALDAS   17541 PENSILVANIA HORTALIZAS   ACELGA   ACELGA   ACELGA
## 3       63 QUINDIO   63272    FILANDIA HORTALIZAS   ACELGA   ACELGA   ACELGA
## 4       63 QUINDIO   63272    FILANDIA HORTALIZAS   ACELGA   ACELGA   ACELGA
## 5       17  CALDAS   17495    NORCASIA   FRUTALES AGUACATE AGUACATE AGUACATE
## 6       17  CALDAS   17616   RISARALDA   FRUTALES AGUACATE AGUACATE AGUACATE
##   year periodo area_siembra area_cosecha produccion rendimiento       estado
## 1 2010   2010A            1            1          4         5.0 FRUTO FRESCO
## 2 2010   2010B            1            1          4         5.0 FRUTO FRESCO
## 3 2015   2015A            1            1          8        16.8 FRUTO FRESCO
## 4 2015   2015B            1            1          8        16.8 FRUTO FRESCO
## 5 2007    2007          249          229       1031         4.5 FRUTO FRESCO
## 6 2007    2007          150           28        336        12.0 FRUTO FRESCO
##                   nombre       ciclo
## 1          BETA VULGARIS TRANSITORIO
## 2          BETA VULGARIS TRANSITORIO
## 3          BETA VULGARIS TRANSITORIO
## 4          BETA VULGARIS TRANSITORIO
## 5 PERSEA AMERICANA MILL.  PERMANENTE
## 6 PERSEA AMERICANA MILL.  PERMANENTE

Analisis y procesamiento de datos

En este apartado haremos uso del paradigma dividir-aplicar-combinar, el cual nos permite dividir los datos en grupo, realizar un analisis de cada uno de estos y finalmente combinar los resultados.

Diferentes funciones de la libreria dplyr como group_by() y summarize(), seran usadas en este proceso.

A continuación agruparemos por cultivos y encontraremos la produccion total de nuestros departamentos de interes: Caldas, Risaralda y Quindio.

eje_cafetero %>% 
  filter(produccion > 0) %>%
  group_by(cultivo) %>%
  summarize(producciontotal = sum(produccion)) %>%
  arrange(desc(producciontotal))
## # A tibble: 108 × 2
##    cultivo        producciontotal
##    <chr>                    <dbl>
##  1 PLATANO                8014101
##  2 CAÑA AZUCARERA         7083542
##  3 CITRICOS               1974713
##  4 CAFE                   1755860
##  5 CAÑA PANELERA           988967
##  6 TOMATE                  800912
##  7 AGUACATE                673654
##  8 PIÑA                    521427
##  9 BANANO                  502493
## 10 NARANJA                 407696
## # … with 98 more rows

Ahora encontraremos los municipios con mayor produccion para cada cultivo

eje_cafetero %>%
  group_by(cultivo, mun) %>%
  summarize(prodmax = max(produccion, na.rm = TRUE)) %>%
  slice(which.max(prodmax)) %>%
  arrange(desc(prodmax))
## `summarise()` has grouped output by 'cultivo'. You can override using the
## `.groups` argument.
## # A tibble: 110 × 3
## # Groups:   cultivo [110]
##    cultivo         mun        prodmax
##    <chr>           <chr>        <dbl>
##  1 CAÑA AZUCARERA  VITERBO     337153
##  2 PLATANO         MONTENEGRO   98479
##  3 CITRICOS        MONTENEGRO   49410
##  4 PIÑA            MONTENEGRO   29335
##  5 MAIZ FORRAJERO  LA DORADA    27840
##  6 CAÑA PANELERA   VITERBO      27147
##  7 AGUACATE        PACORA       26460
##  8 CEBOLLA DE RAMA PEREIRA      26250
##  9 TOMATE          CHINCHINA    24600
## 10 NARANJA         LA TEBAIDA   23762
## # … with 100 more rows

En este paso encontraremos los municipios con mayor produccion para cada grupo de especies vegetales cultivables.

eje_cafetero %>%
  group_by(grupo, mun) %>%
  summarize(prodmax = max(produccion, na.rm = TRUE)) %>%
  slice(which.max(prodmax)) %>%
  arrange(desc(prodmax))
## `summarise()` has grouped output by 'grupo'. You can override using the
## `.groups` argument.
## # A tibble: 13 × 3
## # Groups:   grupo [13]
##    grupo                                            mun         prodmax
##    <chr>                                            <chr>         <dbl>
##  1 OTROS PERMANENTES                                VITERBO      337153
##  2 TUBERCULOS Y PLATANOS                            MONTENEGRO    98479
##  3 FRUTALES                                         MONTENEGRO    49410
##  4 CEREALES                                         LA DORADA     27840
##  5 HORTALIZAS                                       PEREIRA       26250
##  6 FLORES Y FOLLAJES                                PEREIRA        5901
##  7 LEGUMINOSAS                                      ANSERMA        1826
##  8 PLANTAS AROMATICAS, CONDIMENTARIAS Y MEDICINALES AGUADAS        1656
##  9 FORESTALES                                       VICTORIA       1527
## 10 FIBRAS                                           PUEBLO RICO     227
## 11 HONGOS                                           PEREIRA         186
## 12 OTROS TRANSITORIOS                               FILADELFIA      112
## 13 OLEAGINOSAS                                      MANZANARES       12

Ahora seleccionaremos un grupo de cultivos y exportaremos los datos para que puedan ser utilizados en un futuro

eje_cafetero %>%
  group_by(grupo, cod_mun, mun) %>%
  filter(grupo=='CEREALES') %>% 
  summarize(prodmax = max(produccion, na.rm = TRUE)) %>%
  arrange(desc(prodmax)) -> cereales2020
## `summarise()` has grouped output by 'grupo', 'cod_mun'. You can override using
## the `.groups` argument.
head(cereales2020)
## # A tibble: 6 × 4
## # Groups:   grupo, cod_mun [6]
##   grupo    cod_mun mun        prodmax
##   <chr>      <int> <chr>        <dbl>
## 1 CEREALES   17380 LA DORADA    27840
## 2 CEREALES   66001 PEREIRA       5000
## 3 CEREALES   17616 RISARALDA     3400
## 4 CEREALES   17042 ANSERMA       1778
## 5 CEREALES   63470 MONTENEGRO    1566
## 6 CEREALES   17174 CHINCHINA     1315

Ademas, seleccionaremos un segundo grupo de cultivos y exportaremos sus datos como se muestra a continuación.

Ahora se realizará un filtrado del grupo FRUTALES

eje_cafetero %>%
  group_by(grupo, cod_mun, mun) %>%
  filter(grupo=='FRUTALES') %>% 
  summarize(prodmax = max(produccion, na.rm = TRUE)) %>%
  arrange(desc(prodmax)) -> frutales2020
## `summarise()` has grouped output by 'grupo', 'cod_mun'. You can override using
## the `.groups` argument.
head(frutales2020)
## # A tibble: 6 × 4
## # Groups:   grupo, cod_mun [6]
##   grupo    cod_mun mun        prodmax
##   <chr>      <int> <chr>        <dbl>
## 1 FRUTALES   63470 MONTENEGRO   49410
## 2 FRUTALES   63401 LA TEBAIDA   29750
## 3 FRUTALES   17042 ANSERMA      29120
## 4 FRUTALES   17513 PACORA       26460
## 5 FRUTALES   66001 PEREIRA      24560
## 6 FRUTALES   63594 QUIMBAYA     20343

Guardar

Guardar información seleccionada en un archivo

write.csv(cereales2020, "./eje_cereales.csv")
write.csv(frutales2020, "./eje_frutales.csv")

Reproducibilidad

Este trabajo se realizó tomando como guía el cuaderno: Lizarazo, I. 2022, My first R Notebook: Select crops with largest production.

Cite este trabajo así: Cely, N., 2023, Lectura y tratamiento de las estadisticas agropecuarias de Caldas, Quindio y Risaralda. Disponible en https://rpubs.com/ncely/eje_cultivos

sessionInfo()
## R version 4.2.2 (2022-10-31 ucrt)
## Platform: x86_64-w64-mingw32/x64 (64-bit)
## Running under: Windows 10 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    
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
## [1] dplyr_1.1.0
## 
## loaded via a namespace (and not attached):
##  [1] rstudioapi_0.14  knitr_1.39       magrittr_2.0.3   tidyselect_1.2.0
##  [5] R6_2.5.1         rlang_1.1.0      fastmap_1.1.0    fansi_1.0.3     
##  [9] stringr_1.5.0    tools_4.2.2      xfun_0.31        utf8_1.2.2      
## [13] cli_3.3.0        withr_2.5.0      jquerylib_0.1.4  htmltools_0.5.5 
## [17] yaml_2.3.5       digest_0.6.29    tibble_3.1.8     lifecycle_1.0.3 
## [21] sass_0.4.2       vctrs_0.5.2      glue_1.6.2       cachem_1.0.6    
## [25] evaluate_0.15    rmarkdown_2.14   stringi_1.7.8    compiler_4.2.2  
## [29] bslib_0.4.0      pillar_1.8.1     generics_0.1.3   jsonlite_1.8.4  
## [33] pkgconfig_2.0.3