1. Introducción

Este es el tercer cuaderno de R Markdown de la asignatura Geomatica Basica 2023. Aquí encontraras la forma en la que puedes obtener estadísticas multianuales del cacao en el departamento de Santander. Utilizaremos como fuente principal de datos las Evaluaciones Agropecuarias Municipales (EVA), un conjunto de datos agrícolas de 2007-2018 proporcionado por el Ministerio de Agricultura y Desarrollo Rural de Colombia.

También vamos a utilizar las principales funcionalidades de la biblioteca dplyr:

mutate: añade nuevas variables que son funciones de variables existentes. select: selecciona variables basándose en sus nombres. filter: selecciona casos basándose en sus valores. summarise: creduce múltiples valores a un único resumen. arrange: cambia el orden de las filas.

Todas éstas funciones se combinan de forma natural con group_by, que permite realizar cualquier operación “por grupo”.

2 Configuración

Lo primero que necesitamos hacer es instalar y cargar la biblioteca R necesarias.

#run the following lines from the command line:
#install.packages('dplyr')
#install.packages('readxl')
#install.packages('sf')
#install.packages ('tidyverse')
library(tidyverse)
library(dplyr)
library(readr)
library(ggplot2)

3. Descargue el conjunto de datos EVA de varios años para su departamento

Ingrese a https://www.datos.gov.co/Agricultura-y-Desarrollo-Rural/Evaluaciones-Agropecuarias-Municipales-EVA/2pnw-mmge/data para encontrar el conjunto de datos.

En el sitio web vinculado (es decir datos.gov.co), visualiza los datos y aplica un filtro para obtener solo los datos correspondientes a tu departamento. Luego, exporte los datos en formato csv.

Ahora, dirígete al directorio de descargas para encontrar el archivo Evaluaciones_Agropecuarias_Municipales_EVA.csv. Muévalo a su directorio de trabajo.

4. Lee el conjunto de datos EVA

list.files()
##  [1] "('readxl')"                                        
##  [2] "('sf')"                                            
##  [3] "('tidyverse')"                                     
##  [4] "cacao.jpg"                                         
##  [5] "Cuaderno_cacao.html"                               
##  [6] "Cuaderno_cacao.Rmd"                                
##  [7] "Cuaderno_cacao.tex"                                
##  [8] "dplyr"                                             
##  [9] "EVA.csv"                                           
## [10] "Evaluaciones_Agropecuarias_Municipales_EVA (1).csv"

Ahora, procedamos a leer el conjunto de datos EVA 2007-2018:

# adjust the filepath acording to your data
(eva = read.csv("./EVA.csv"))

Vea la tabla y confirme que contenga estadísticas agrícolas para diferentes años. ¿Puedes decir cuál es el período de tiempo para estos datos?

Es muy importante saber cuáles son los nombres que puede observar en el software. Puede ser diferente de lo que vemos:

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"

5. Limpiar el conjunto de datos de EVA

Seleccionemos algunos atributos para limpiar el objeto eva:

eva %>% dplyr::select('CÓD..MUN.':'ESTADO.FISICO.PRODUCCION') -> eva.tmp
eva.tmp

Verifique el resultado y verifique que solo se seleccionaron las columnas relevantes.

Ahora, cambie los nombres de varias columnas que contengan caracteres vacíos o “ruidosos”

# make sure to use the column names that are in your eva.tmp object
eva.tmp %>%  dplyr::rename('Cod_Mun' = 'CÓD..MUN.', 
                         'Grupo' = 'GRUPO..DE.CULTIVO',
                         'Subgrupo' = 'SUBGRUPO..DE.CULTIVO',
                         'Sistema' = 'DESAGREGACIÓN.REGIONAL.Y.O.SISTEMA.PRODUCTIVO',
                         'Year' = 'AÑO',
                         'AreaSembrada' ='Área.Sembrada..ha.',
                         'AreaCosechada' = 'Área.Cosechada..ha.',
                         'Produccion' = 'Producción..t.',                                                                 'Rendimiento' =  'Rendimiento..t.ha.',   
                         'Estado' = 'ESTADO.FISICO.PRODUCCION') -> new_eva

Comprobemos el resultado:

new_eva

Consulte la tabla anterior y verifique que los atributos cuantitativos se almacenen como tipos de datos numéricos (no como tipos de datos de cadena).

6. Análisis de los datos

Muchas tareas de análisis de datos se pueden abordar utilizando el paradigma dividir-aplicar-combinar: dividir los datos en grupos, aplicar algún análisis a cada grupo y luego combinar los resultados.

La biblioteca dplyr hace que esto sea muy fácil mediante el uso de la función group_by(), que divide los datos en grupos. Cuando los datos se agrupan de esta manera, se puede utilizar summarize() para colapsar cada grupo en un resumen de una sola fila. summarize() hace esto aplicando una función de agregación o resumen a cada grupo.

6.1 Los cultivos de mayor importancia entre 2007 y 2018

Por ejemplo, si queremos saber la producción total por grupo de cultivos, tecleamos: