2.Funcionalidades SIG
Primero, es importane saber que comprender lo que sucede en los territorios es esencial la exploración de estadísticas no espaciales, es por ello que es crucial conocer varias de las bibliotecas R,las cuales son muy útiles para explorar y resumir estadísticas, entre estas se encuentran particularmente las biblioteca dplyr y tidyverse.
Asimismo, las operaciones geoespaciales pueden mejorar la comprensión de varios problemas que afectan a las regiones geográficas. Por ejemplo, averiguar la ubicación de municipios cuyos rendimientos de cosecha son sobresalientes (o, alternativamente, más bajos que el promedio), para realizar dicha exploración, es necesario unir datos no espaciales con datos espaciales.
Ya entendiendo lo anterio,lo primero que se hara será eliminar el contenido de la memoria
rm(list=ls())
Ahora, es propio instalar las bibliotecas que se necesitan. Tenga en cuenta que, en el siguiente fragmento, cualquier paquete se instala solo si no se ha instalado previamente.
list.of.packages <- c("here", "tidyverse", "rgeos", "maptools", "raster", "sf", "viridis", "rnaturalearth", "GSODR", "ggrepel", "cowplot")
new.packages <- list.of.packages[!(list.of.packages %in% installed.packages()[,"Package"])]
if(length(new.packages)) install.packages(new.packages)
Ahora, se carga las bibliotecas
library(here)
## here() starts at C:/Users/oaparicio15/Desktop/Rstudio
library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.0 --
## v ggplot2 3.3.0 v purrr 0.3.3
## v tibble 2.1.3 v dplyr 0.8.5
## v tidyr 1.0.2 v stringr 1.4.0
## v readr 1.3.1 v forcats 0.5.0
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
library(rgeos)
## Loading required package: sp
## rgeos version: 0.5-2, (SVN revision 621)
## GEOS runtime version: 3.6.1-CAPI-1.10.1
## Linking to sp version: 1.4-1
## Polygon checking: TRUE
library(maptools)
## Checking rgeos availability: TRUE
library(raster)
##
## Attaching package: 'raster'
## The following object is masked from 'package:dplyr':
##
## select
## The following object is masked from 'package:tidyr':
##
## extract
library(sf)
## Linking to GEOS 3.6.1, GDAL 2.2.3, PROJ 4.9.3
library(viridis)
## Loading required package: viridisLite
library(rnaturalearth)
library(GSODR)
library(ggrepel)
library(cowplot)
##
## ********************************************************
## Note: As of version 1.0.0, cowplot does not change the
## default ggplot2 theme anymore. To recover the previous
## behavior, execute:
## theme_set(theme_cowplot())
## ********************************************************
3. Explorando las estadísticas agrícolas en Meta
Si quiere mirar cuáles son los atributos de los datos, se debe hacer lo siguiente:
head(datos)
tail(datos)
Hay que tener en cuenta que cada municipio tiene estadísticas sobre el área sembrada, área cosechada, y rendimiento para diferentes cultivos en diferentes años. Los atributos SUBGRUPO y CULTIVO parecen referirse a la misma cosa (es decir, un cultivo). Los cultivos se clasifican además en un GRUPO dado.
De este modo, se utilizará la biblioteca dplyr para explorar el contenido de los datos del objeto.
Cabe destacar que aunque la tabla no presenta unidades, si se verifica el archivo csv original, las unidades de área son hectáreas y las unidades de rendimiento son Ton / ha
Dicho esto, lo primero que se realizará sera un resumen del rendimiento (es decir, el rendimiento promedio durante varios años) por grupo y municipio:
datos %>%
group_by(MUNICIPIO, GRUPO) %>%
summarise(rend_prom = mean(Rendimiento, na.rm = TRUE)) -> rend_resumen
head(rend_resumen)
Tenga en cuenta que los rendimientos más altos corresponden a CEREALES, OLEAGINOSAS, FIBRAS Y PLANTAS AROMATICAS, CONDIMENTARIAS Y MEDICINALES.
Sin embargo, si lo que desea conocer los municipios con mayor rendimiento para cada grupo de cultivos en 2018, puede realizar lo siguiente:
datos %>%
filter(YEAR==2018) %>%
group_by(GRUPO, MUNICIPIO) %>%
summarize(max_rend = max(Rendimiento, na.rm = TRUE)) %>%
slice(which.max(max_rend)) -> rend_max_18
rend_max_18
Ahora, si se desea saber cuáles son los municipios con mayor área cosechada para cada grupo de cultivos en 2018, puede ejecutar lo siguiente:
datos %>%
filter(YEAR==2018) %>%
group_by(GRUPO, MUNICIPIO) %>%
summarize(max_area_cosecha = max(Area_Cosecha, na.rm = TRUE)) %>%
slice(which.max(max_area_cosecha)) -> area_cosecha_max
area_cosecha_max
De este modo, se evidencia que el área más grande cosechada en 2018 correspondió a CEREALES y LEGUMINOSAS, ambos en PUERTO GAITAN, municipio que se destaca por actividades económicas como la ganadería, la agricultura (en mediana escala), el comercio y la pesca. Destacandose principalmente en agricultura los cultivos de maíz, arroz y palma africana.
Sabiendo esto, observemos la producción de maiz (en Toneladas) en Puerto Gaitán para cada año:
datos %>%
filter(MUNICIPIO=="PUERTO GAITAN" & SUBGRUPO=="MAIZ") %>%
group_by(YEAR, CULTIVO) -> pgaitan_maiz
pgaitan_maiz
Pero, Si se quiere hacer una exploración gráfica básica, puede usar la biblioteca ggplot 2
g <- ggplot(aes(x=YEAR, y=Produccion/1000), data = pgaitan_maiz) + geom_bar(stat='identity') + labs(y='Producción de maíz [Ton x 1000]')
g + ggtitle("Evolución de la producción de maíz en Puerto Gaitán del 2007 al 2018") + labs(caption= "Based on EMA data (DANE, 2018)")

De esto, se observa que aunque el cultivo de maíz tuvo su pico en el 2015 su producción esta descendiendo en los últimos años
Por tanto, es bueno investigar qué cultivos tuvieron la mayor área cosechada en 2018
datos %>%
filter(YEAR==2018) %>%
group_by(GRUPO) %>%
summarize(sum_area_cosecha = sum(Area_Cosecha, na.rm = TRUE)) %>%
arrange(desc(sum_area_cosecha)) -> total_area_cosecha
total_area_cosecha
De esta manera, se evidencia que aunque la mayor área cosechada pertenece al grupo de las oleaginosas, esta área pertenece unicamente al cultivo de palma de aceite.
Entonces, veamos cuáles son los municipios con mayor área cosechada para este cultivo en 2018
datos %>%
filter(YEAR==2018 & GRUPO=="OLEAGINOSAS") %>%
group_by(CULTIVO, MUNICIPIO) %>%
summarize(max_area2 = max(Area_Cosecha, na.rm = TRUE)) %>%
slice(which.max(max_area2)) -> area_cosecha2
area_cosecha2
Observandose que efectivamente, Puerto Gaitan es un gran generador de este producto, ahora, volvamos a los datos de cultivos oleaginosas. Antes de trazar, se necesita agregar, al objeto total_area_cosecha, un nuevo campo con abreviaturas para cada GRUPO de cultivos. De lo contrario, la trama se verá desordenada.
total_area_cosecha$CROP <- abbreviate(total_area_cosecha$GRUPO, 3)
Ahora, está tramando el tiempo:
g <- ggplot(aes(x=CROP, y=sum_area_cosecha), data = total_area_cosecha) + geom_bar(stat='identity') + labs(y='Área total cosechada [Ha]')
g+ ggtitle("Superficie total cosechada por grupos de cultivos en 2018 para Meta") + theme(plot.title = element_text(hjust = 0.5)) +
labs(caption= "Based on EMA data (DANE, 2018)")

Entonces, dado que se observa una fuerte producción de oleaginosas en 2018, a continuacion se quiso ilustra la evolución de este cultivos a través de los años con el fin de compararla con la evolución de otroscultivos importantes para la canasta familia como el arroz y la soya (en Puerto Gaitán)
datos %>%
filter(MUNICIPIO=="PUERTO GAITAN" & SUBGRUPO=="PALMA DE ACEITE") %>%
group_by(YEAR, CULTIVO) -> pgaitan_palma
pgaitan_palma
g <- ggplot(aes(x=YEAR, y=Produccion/1000), data = pgaitan_palma) + geom_bar(stat='identity') + labs(y='Producción de palma de aceite [Ton x 1000]')
g + ggtitle("Evolución de la producción de palma de aceite en Puerto Gaitán del 2007 al 2018") + labs(caption= "Based on EMA data (DANE, 2018)")

datos %>%
filter(MUNICIPIO=="PUERTO GAITAN" & SUBGRUPO=="ARROZ") %>%
group_by(YEAR, CULTIVO) -> pgaitan_arroz
pgaitan_arroz
g <- ggplot(aes(x=YEAR, y=Produccion/1000), data = pgaitan_arroz) + geom_bar(stat='identity') + labs(y='Producción de arroz [Ton x 1000]')
g + ggtitle("Evolución de la producción de arroz en Puerto Gaitán del 2007 al 2018") + labs(caption= "Based on EMA data (DANE, 2018)")

datos %>%
filter(MUNICIPIO=="PUERTO GAITAN" & SUBGRUPO=="SOYA") %>%
group_by(YEAR, CULTIVO) -> pgaitan_soya
pgaitan_soya
g <- ggplot(aes(x=YEAR, y=Produccion/1000), data = pgaitan_soya) + geom_bar(stat='identity') + labs(y='Producción de soya [Ton x 1000]')
g + ggtitle("Evolución de la producción de soya en Puerto Gaitán del 2007 al 2018") + labs(caption= "Based on EMA data (DANE, 2018)")

De esta manera, se observa que la producción en Puerto Gaitan de productos importantes en la canasta familiar como el arroz, la soya y el maiz y (posiblemente muchos más productos) ha tenido un declive, mientras que la producción de palma de aceite va en ascenso, lo cuál, más adelante, si no se toma en cuenta este tipo de datos, podria poner en riesgo la seguridad alimentarias de las personas.
4. Unir las estadísticas agrícolas a los municipios.
Primero se debe leer los datos usando la biblioteca sf:
ant_munic <- sf::st_read("C:/Users/oaparicio15/Desktop/QGIS/ColombiaDatos/50_META/ADMINISTRATIVO/MGN_MPIO_POLITICO.shp")
## Reading layer `MGN_MPIO_POLITICO' from data source `C:\Users\oaparicio15\Desktop\QGIS\ColombiaDatos\50_META\ADMINISTRATIVO\MGN_MPIO_POLITICO.shp' using driver `ESRI Shapefile'
## Simple feature collection with 29 features and 9 fields
## geometry type: POLYGON
## dimension: XY
## bbox: xmin: -74.89921 ymin: 1.604238 xmax: -71.07753 ymax: 4.899101
## epsg (SRID): 4326
## proj4string: +proj=longlat +datum=WGS84 +no_defs
Además, no se debe olvidar que los datos utilizan el sistema de referencia de coordenadas geográficas WGS1984 (es decir, código 4326 epsg).
Ahora, se puede usar la función left_join para unir los municipios y las estadísticas agrícolas seleccionadas.
Para hacer la unión se necesita un atributo común (o variable compartida) para basar la unión, el mejor atributo es una identificación. En este caso en ant_munic, el atributo MPIO_CCDGO parece estar bien (se lee 50001 para Villavicencio) y en datos, el atributo correspondiente que corresponde a COD_MUN también lee 50001 para Villavicencio).
Verifiquemos la última declaración:
datos %>% filter (MUNICIPIO =="VILLAVICENCIO") -> med_datos
med_datos
class(med_datos$`COD_MUN`)
## [1] "numeric"
Para poder hacer la unión, se necesita cambiar el tipo de datos, para esta tarea, es una buena idea crear una copia de los datos estadísticos originales. Con este enfoque, cualquier movimiento falso no estropeará los datos originales.
Avancemos paso a paso:
datos2 <- datos
datos2$TEMP <- as.character(datos2$`COD_MUN`)
datos2$MPIO_CCDGO <- as.factor(datos2$TEMP)
head(datos2)
Se debe verificar en el objeto datos2, las características del nuevo atributo MPIO_CCDGO.
Ahora, se puede filtrar y seleccionar solo dos atributos relevantes, en este caso, miremos del cultivo de maiz:
datos2 %>% filter(CULTIVO == "MAIZ") -> datos3
head(datos3)
class(datos3)
## [1] "spec_tbl_df" "tbl_df" "tbl" "data.frame"
datos4 <- datos3 %>% dplyr::select(MUNICIPIO, MPIO_CCDGO, YEAR, Produccion, Rendimiento)
datos4
datos4 %>%
gather("YEAR", "Produccion", "Rendimiento" , key = variable, value = number)
head(datos4)
También se realizará una copia de la colección de características simples (de nuevo, solo en caso de un movimiento falso):
ant_munic2 <- ant_munic
Ahora es hora de unirse:
ant_munic_stat = left_join(ant_munic2, datos5, by="MPIO_CCDGO")
Desde aqui no se ha corrido el código
summary(ant_munic_stat)
## DPTO_CCDGO MPIO_CCDGO MPIO_CNMBR
## 50:29 50001 : 1 ACACÍAS : 1
## 50006 : 1 BARRANCA DE UPIA : 1
## 50110 : 1 CABUYARO : 1
## 50124 : 1 CASTILLA LA NUEVA: 1
## 50150 : 1 CUBARRAL : 1
## 50223 : 1 CUMARAL : 1
## (Other):23 (Other) :23
## MPIO_CRSLC MPIO_NAREA MPIO_NANO
## Decreto 2543 de 1955 : 3 Min. : 117.3 Min. :2017
## 1840 : 1 1st Qu.: 568.2 1st Qu.:2017
## 1955 : 1 Median : 1123.7 Median :2017
## 1956 : 1 Mean : 2949.1 Mean :2017
## 1958 : 1 3rd Qu.: 3428.1 3rd Qu.:2017
## Decreto 182 de Junio 2 de 1955: 1 Max. :17247.7 Max. :2017
## (Other) :21
## DPTO_CNMBR Shape_Leng Shape_Area MUNICIPIO
## META:29 Min. :0.4364 Min. :0.009552 Length:29
## 1st Qu.:1.4422 1st Qu.:0.046252 Class :character
## Median :2.0398 Median :0.091507 Mode :character
## Mean :2.9820 Mean :0.239841
## 3rd Qu.:3.6313 3rd Qu.:0.278743
## Max. :8.6332 Max. :1.402166
##
## Produccion_1 Produccion_10 Produccion_11 Produccion_12
## Min. : 67 Min. : 8 Min. : 6 Min. : 8
## 1st Qu.: 420 1st Qu.: 207 1st Qu.: 165 1st Qu.: 480
## Median : 720 Median : 738 Median : 675 Median : 1100
## Mean : 1526 Mean : 1724 Mean : 2038 Mean : 2961
## 3rd Qu.: 1980 3rd Qu.: 1180 3rd Qu.: 1200 3rd Qu.: 3575
## Max. :13450 Max. :16000 Max. :12600 Max. :19498
## NA's :3 NA's :4 NA's :4
## Produccion_13 Produccion_14 Produccion_15 Produccion_16
## Min. : 7.0 Min. : 16.0 Min. : 11 Min. : 2.0
## 1st Qu.: 198.0 1st Qu.: 176.5 1st Qu.: 122 1st Qu.: 373.2
## Median : 637.5 Median : 900.0 Median : 576 Median : 958.5
## Mean : 3364.3 Mean : 3927.5 Mean : 3347 Mean : 4017.0
## 3rd Qu.: 3390.0 3rd Qu.: 4222.5 3rd Qu.: 3434 3rd Qu.: 4068.8
## Max. :17600.0 Max. :21518.0 Max. :19250 Max. :23400.0
## NA's :5 NA's :6 NA's :6 NA's :7
## Produccion_17 Produccion_18 Produccion_19 Produccion_2
## Min. : 10.0 Min. : 5.0 Min. : 6 Min. : 28
## 1st Qu.: 189.5 1st Qu.: 228.5 1st Qu.: 132 1st Qu.: 190
## Median : 883.5 Median : 989.5 Median : 1188 Median : 532
## Mean : 4338.6 Mean : 5135.4 Mean : 5312 Mean :1764
## 3rd Qu.: 3469.5 3rd Qu.: 5085.0 3rd Qu.: 3369 3rd Qu.:2819
## Max. :28236.0 Max. :33953.0 Max. :36750 Max. :7431
## NA's :7 NA's :7 NA's :7
## Produccion_20 Produccion_21 Produccion_22 Produccion_23
## Min. : 15 Min. : 8.0 Min. : 5 Min. : 3.0
## 1st Qu.: 375 1st Qu.: 155.0 1st Qu.: 130 1st Qu.: 121.5
## Median : 1600 Median : 883.5 Median : 542 Median : 440.5
## Mean : 14864 Mean : 9947.6 Mean : 13748 Mean : 10139.9
## 3rd Qu.: 3559 3rd Qu.: 1750.0 3rd Qu.: 2987 3rd Qu.: 1915.0
## Max. :210000 Max. :130000.0 Max. :189831 Max. :118432.0
## NA's :8 NA's :9 NA's :9 NA's :9
## Produccion_24 Produccion_25 Produccion_26 Produccion_27
## Min. : 2.00 Min. : 15.0 Min. : 11.0 Min. : 16.0
## 1st Qu.: 96.75 1st Qu.: 44.0 1st Qu.: 45.0 1st Qu.: 57.5
## Median : 324.00 Median : 137.0 Median : 104.0 Median : 73.5
## Mean : 10391.20 Mean : 820.4 Mean : 461.2 Mean : 470.8
## 3rd Qu.: 1161.75 3rd Qu.:1292.8 3rd Qu.: 875.0 3rd Qu.: 897.0
## Max. :184534.00 Max. :4550.0 Max. :2000.0 Max. :2000.0
## NA's :9 NA's :11 NA's :12 NA's :13
## Produccion_28 Produccion_29 Produccion_3 Produccion_30
## Min. : 15.0 Min. : 25.0 Min. : 17 Min. : 18.00
## 1st Qu.: 47.5 1st Qu.: 58.5 1st Qu.: 119 1st Qu.: 59.75
## Median : 85.0 Median : 125.0 Median : 525 Median : 134.00
## Mean : 400.2 Mean : 360.6 Mean : 1343 Mean : 401.57
## 3rd Qu.: 708.5 3rd Qu.: 833.2 3rd Qu.: 1800 3rd Qu.: 931.50
## Max. :2000.0 Max. :1100.0 Max. :10475 Max. :1100.00
## NA's :13 NA's :13 NA's :15
## Produccion_31 Produccion_32 Produccion_33 Produccion_34
## Min. : 16.0 Min. : 20.00 Min. : 19.00 Min. : 18.0
## 1st Qu.: 50.0 1st Qu.: 50.75 1st Qu.: 65.25 1st Qu.: 45.5
## Median : 68.0 Median : 74.50 Median : 87.00 Median : 86.0
## Mean : 292.9 Mean : 260.92 Mean :253.25 Mean : 288.2
## 3rd Qu.: 168.0 3rd Qu.: 329.25 3rd Qu.:337.50 3rd Qu.: 360.0
## Max. :1144.0 Max. :1000.00 Max. :825.00 Max. :1125.0
## NA's :16 NA's :17 NA's :17 NA's :17
## Produccion_35 Produccion_36 Produccion_37 Produccion_38
## Min. : 8 Min. : 20.0 Min. : 11 Min. : 13.0
## 1st Qu.: 67 1st Qu.: 30.0 1st Qu.: 113 1st Qu.: 39.0
## Median : 125 Median :100.0 Median : 122 Median : 100.0
## Mean :1116 Mean :254.2 Mean : 2274 Mean : 327.7
## 3rd Qu.: 475 3rd Qu.:475.0 3rd Qu.: 180 3rd Qu.: 489.0
## Max. :9555 Max. :750.0 Max. :18983 Max. :1125.0
## NA's :18 NA's :20 NA's :20 NA's :22
## Produccion_39 Produccion_4 Produccion_40 Produccion_41
## Min. : 23.0 Min. : 17.0 Min. : 30.00 Min. : 38.0
## 1st Qu.: 107.5 1st Qu.: 130.5 1st Qu.: 60.75 1st Qu.: 60.0
## Median : 149.0 Median : 676.0 Median : 120.50 Median : 84.0
## Mean : 319.2 Mean :1599.8 Mean : 377.67 Mean :131.6
## 3rd Qu.: 225.0 3rd Qu.:1665.0 3rd Qu.: 745.75 3rd Qu.:209.0
## Max. :1250.0 Max. :8800.0 Max. :1000.00 Max. :267.0
## NA's :23 NA's :1 NA's :23 NA's :24
## Produccion_42 Produccion_43 Produccion_44 Produccion_45 Produccion_46
## Min. : 45.00 Min. : 50.00 Min. : 50.00 Min. : 70 Min. :46
## 1st Qu.: 48.75 1st Qu.: 52.25 1st Qu.: 72.50 1st Qu.:100 1st Qu.:46
## Median : 51.50 Median : 70.00 Median : 95.00 Median :130 Median :46
## Mean : 89.25 Mean :118.75 Mean : 98.33 Mean :130 Mean :46
## 3rd Qu.: 92.00 3rd Qu.:136.50 3rd Qu.:122.50 3rd Qu.:160 3rd Qu.:46
## Max. :209.00 Max. :285.00 Max. :150.00 Max. :190 Max. :46
## NA's :25 NA's :25 NA's :26 NA's :27 NA's :28
## Produccion_47 Produccion_5 Produccion_6 Produccion_7 Produccion_8
## Min. :170 Min. : 39 Min. : 10 Min. : 13 Min. : 13.0
## 1st Qu.:170 1st Qu.: 132 1st Qu.: 114 1st Qu.: 141 1st Qu.: 149.2
## Median :170 Median : 825 Median : 573 Median : 795 Median : 451.5
## Mean :170 Mean : 1465 Mean :1347 Mean : 1885 Mean : 1208.7
## 3rd Qu.:170 3rd Qu.: 1610 3rd Qu.:2119 3rd Qu.: 2040 3rd Qu.: 1200.0
## Max. :170 Max. :12005 Max. :5905 Max. :14850 Max. :10800.0
## NA's :28 NA's :1 NA's :1 NA's :1 NA's :1
## Produccion_9 Rendimiento_1 Rendimiento_10 Rendimiento_11
## Min. : 13.0 Min. : 5 Min. : 2.00 Min. : 2.00
## 1st Qu.: 131.2 1st Qu.: 36 1st Qu.: 5.00 1st Qu.: 6.00
## Median : 637.5 Median : 55 Median : 16.50 Median : 18.00
## Mean : 1638.8 Mean :154 Mean : 48.69 Mean : 47.76
## 3rd Qu.: 1650.0 3rd Qu.:191 3rd Qu.: 45.00 3rd Qu.: 45.00
## Max. :11880.0 Max. :543 Max. :433.00 Max. :508.00
## NA's :1 NA's :3 NA's :4
## Rendimiento_12 Rendimiento_13 Rendimiento_14 Rendimiento_15
## Min. : 2.00 Min. : 2.00 Min. : 2.00 Min. : 2.00
## 1st Qu.: 15.00 1st Qu.: 7.00 1st Qu.: 6.00 1st Qu.: 6.00
## Median : 55.00 Median : 17.50 Median : 15.00 Median : 18.00
## Mean : 99.92 Mean : 72.17 Mean : 75.91 Mean : 52.61
## 3rd Qu.: 55.00 3rd Qu.: 55.00 3rd Qu.: 40.50 3rd Qu.: 51.50
## Max. :508.00 Max. :518.00 Max. :663.00 Max. :593.00
## NA's :4 NA's :5 NA's :6 NA's :6
## Rendimiento_16 Rendimiento_17 Rendimiento_18 Rendimiento_19
## Min. : 2.00 Min. : 1.00 Min. : 2.0 Min. : 2.00
## 1st Qu.: 6.00 1st Qu.: 6.25 1st Qu.: 6.0 1st Qu.: 7.00
## Median : 16.00 Median : 16.50 Median : 15.0 Median : 15.50
## Mean : 77.23 Mean :102.18 Mean :112.7 Mean : 70.82
## 3rd Qu.: 55.00 3rd Qu.: 55.00 3rd Qu.: 25.0 3rd Qu.: 25.00
## Max. :593.00 Max. :675.00 Max. :675.0 Max. :492.00
## NA's :7 NA's :7 NA's :7 NA's :7
## Rendimiento_2 Rendimiento_20 Rendimiento_21 Rendimiento_22
## Min. : 2.0 Min. : 1.0 Min. : 1.00 Min. : 1.00
## 1st Qu.: 7.0 1st Qu.: 15.0 1st Qu.: 11.75 1st Qu.: 15.75
## Median : 45.0 Median : 17.0 Median : 23.00 Median :119.50
## Mean :152.1 Mean :110.9 Mean :128.60 Mean :210.35
## 3rd Qu.:353.0 3rd Qu.: 62.0 3rd Qu.: 78.25 3rd Qu.:508.00
## Max. :574.0 Max. :508.0 Max. :593.00 Max. :593.00
## NA's :8 NA's :9 NA's :9
## Rendimiento_23 Rendimiento_24 Rendimiento_25 Rendimiento_26
## Min. : 1.0 Min. : 1.0 Min. : 2.00 Min. : 2
## 1st Qu.: 15.0 1st Qu.: 15.0 1st Qu.: 15.25 1st Qu.: 15
## Median : 24.5 Median : 23.5 Median : 23.50 Median : 24
## Mean :158.8 Mean : 82.6 Mean : 46.00 Mean : 41
## 3rd Qu.:244.0 3rd Qu.: 25.0 3rd Qu.: 25.00 3rd Qu.: 25
## Max. :594.0 Max. :551.0 Max. :221.00 Max. :182
## NA's :9 NA's :9 NA's :11 NA's :12
## Rendimiento_27 Rendimiento_28 Rendimiento_29 Rendimiento_3
## Min. : 1.00 Min. : 1.00 Min. : 2.00 Min. : 2.00
## 1st Qu.:15.00 1st Qu.: 2.00 1st Qu.: 2.00 1st Qu.: 6.00
## Median :16.00 Median :15.00 Median : 15.50 Median : 35.00
## Mean :15.81 Mean :13.25 Mean : 30.25 Mean : 54.21
## 3rd Qu.:22.25 3rd Qu.:22.75 3rd Qu.: 25.00 3rd Qu.: 45.00
## Max. :25.00 Max. :25.00 Max. :206.00 Max. :474.00
## NA's :13 NA's :13 NA's :13
## Rendimiento_30 Rendimiento_31 Rendimiento_32 Rendimiento_33 Rendimiento_34
## Min. : 2.00 Min. : 2 Min. : 2.0 Min. : 2.00 Min. : 2.00
## 1st Qu.: 2.00 1st Qu.: 2 1st Qu.: 15.0 1st Qu.:15.00 1st Qu.:14.75
## Median :15.50 Median : 16 Median : 16.5 Median :15.50 Median :18.00
## Mean :13.07 Mean : 21 Mean : 28.5 Mean :17.17 Mean :17.33
## 3rd Qu.:24.25 3rd Qu.: 25 3rd Qu.: 25.0 3rd Qu.:22.00 3rd Qu.:25.00
## Max. :25.00 Max. :132 Max. :164.0 Max. :25.00 Max. :25.00
## NA's :15 NA's :16 NA's :17 NA's :17 NA's :17
## Rendimiento_35 Rendimiento_36 Rendimiento_37 Rendimiento_38
## Min. : 2.00 Min. : 15.00 Min. : 2.00 Min. : 2.00
## 1st Qu.:15.00 1st Qu.: 15.00 1st Qu.: 15.00 1st Qu.:18.00
## Median :15.00 Median : 18.00 Median : 18.00 Median :21.00
## Mean :23.45 Mean : 40.78 Mean : 55.67 Mean :19.14
## 3rd Qu.:24.00 3rd Qu.: 25.00 3rd Qu.:119.00 3rd Qu.:25.00
## Max. :91.00 Max. :122.00 Max. :163.00 Max. :25.00
## NA's :18 NA's :20 NA's :20 NA's :22
## Rendimiento_39 Rendimiento_4 Rendimiento_40 Rendimiento_41
## Min. :14.00 Min. : 2.00 Min. : 15.00 Min. : 15.0
## 1st Qu.:15.75 1st Qu.: 4.75 1st Qu.: 15.50 1st Qu.: 19.0
## Median :21.50 Median :17.00 Median : 21.00 Median : 25.0
## Mean :20.33 Mean :22.39 Mean : 59.17 Mean : 68.4
## 3rd Qu.:25.00 3rd Qu.:39.25 3rd Qu.: 85.00 3rd Qu.:105.0
## Max. :25.00 Max. :55.00 Max. :178.00 Max. :178.0
## NA's :23 NA's :1 NA's :23 NA's :24
## Rendimiento_42 Rendimiento_43 Rendimiento_44 Rendimiento_45 Rendimiento_46
## Min. : 15 Min. : 2.00 Min. : 2.0 Min. : 2.00 Min. :2
## 1st Qu.: 18 1st Qu.: 11.75 1st Qu.: 8.5 1st Qu.: 6.25 1st Qu.:2
## Median : 22 Median : 17.00 Median :15.0 Median :10.50 Median :2
## Mean : 41 Mean : 36.00 Mean :12.0 Mean :10.50 Mean :2
## 3rd Qu.: 45 3rd Qu.: 41.25 3rd Qu.:17.0 3rd Qu.:14.75 3rd Qu.:2
## Max. :105 Max. :108.00 Max. :19.0 Max. :19.00 Max. :2
## NA's :25 NA's :25 NA's :26 NA's :27 NA's :28
## Rendimiento_47 Rendimiento_5 Rendimiento_6 Rendimiento_7
## Min. :2 Min. : 2.00 Min. : 2.00 Min. : 2.00
## 1st Qu.:2 1st Qu.: 4.00 1st Qu.: 5.00 1st Qu.: 4.00
## Median :2 Median : 35.00 Median : 34.50 Median : 16.00
## Mean :2 Mean : 53.61 Mean : 54.75 Mean : 35.18
## 3rd Qu.:2 3rd Qu.: 45.00 3rd Qu.: 45.00 3rd Qu.: 38.50
## Max. :2 Max. :424.00 Max. :424.00 Max. :424.00
## NA's :28 NA's :1 NA's :1 NA's :1
## Rendimiento_8 Rendimiento_9 YEAR_1 YEAR_10 YEAR_11
## Min. : 2.00 Min. : 1.00 Min. :2006 Min. :2008 Min. :2006
## 1st Qu.: 5.75 1st Qu.: 4.75 1st Qu.:2006 1st Qu.:2011 1st Qu.:2011
## Median : 22.00 Median : 17.50 Median :2007 Median :2011 Median :2012
## Mean : 72.43 Mean : 49.93 Mean :2008 Mean :2012 Mean :2012
## 3rd Qu.: 52.75 3rd Qu.: 52.75 3rd Qu.:2007 3rd Qu.:2014 3rd Qu.:2013
## Max. :406.00 Max. :332.00 Max. :2016 Max. :2018 Max. :2017
## NA's :1 NA's :1 NA's :3 NA's :4
## YEAR_12 YEAR_13 YEAR_14 YEAR_15 YEAR_16
## Min. :2007 Min. :2007 Min. :2006 Min. :2007 Min. :2007
## 1st Qu.:2012 1st Qu.:2012 1st Qu.:2012 1st Qu.:2012 1st Qu.:2012
## Median :2012 Median :2013 Median :2013 Median :2013 Median :2014
## Mean :2013 Mean :2013 Mean :2013 Mean :2013 Mean :2014
## 3rd Qu.:2015 3rd Qu.:2014 3rd Qu.:2014 3rd Qu.:2014 3rd Qu.:2015
## Max. :2018 Max. :2018 Max. :2017 Max. :2017 Max. :2018
## NA's :4 NA's :5 NA's :6 NA's :6 NA's :7
## YEAR_17 YEAR_18 YEAR_19 YEAR_2 YEAR_20
## Min. :2006 Min. :2006 Min. :2007 Min. :2007 Min. :2008
## 1st Qu.:2011 1st Qu.:2012 1st Qu.:2012 1st Qu.:2007 1st Qu.:2013
## Median :2014 Median :2015 Median :2015 Median :2007 Median :2016
## Mean :2013 Mean :2013 Mean :2014 Mean :2009 Mean :2014
## 3rd Qu.:2015 3rd Qu.:2015 3rd Qu.:2016 3rd Qu.:2009 3rd Qu.:2016
## Max. :2018 Max. :2017 Max. :2018 Max. :2017 Max. :2018
## NA's :7 NA's :7 NA's :7 NA's :8
## YEAR_21 YEAR_22 YEAR_23 YEAR_24 YEAR_25
## Min. :2006 Min. :2007 Min. :2006 Min. :2006 Min. :2006
## 1st Qu.:2010 1st Qu.:2010 1st Qu.:2009 1st Qu.:2008 1st Qu.:2008
## Median :2014 Median :2014 Median :2014 Median :2012 Median :2010
## Mean :2013 Mean :2013 Mean :2013 Mean :2012 Mean :2011
## 3rd Qu.:2016 3rd Qu.:2017 3rd Qu.:2017 3rd Qu.:2015 3rd Qu.:2014
## Max. :2017 Max. :2018 Max. :2018 Max. :2018 Max. :2016
## NA's :9 NA's :9 NA's :9 NA's :9 NA's :11
## YEAR_26 YEAR_27 YEAR_28 YEAR_29 YEAR_3
## Min. :2007 Min. :2008 Min. :2008 Min. :2009 Min. :2006
## 1st Qu.:2008 1st Qu.:2009 1st Qu.:2010 1st Qu.:2010 1st Qu.:2007
## Median :2011 Median :2010 Median :2011 Median :2011 Median :2008
## Mean :2011 Mean :2011 Mean :2012 Mean :2012 Mean :2009
## 3rd Qu.:2014 3rd Qu.:2013 3rd Qu.:2014 3rd Qu.:2014 3rd Qu.:2010
## Max. :2016 Max. :2017 Max. :2017 Max. :2018 Max. :2018
## NA's :12 NA's :13 NA's :13 NA's :13
## YEAR_30 YEAR_31 YEAR_32 YEAR_33 YEAR_34
## Min. :2009 Min. :2010 Min. :2010 Min. :2011 Min. :2011
## 1st Qu.:2010 1st Qu.:2011 1st Qu.:2012 1st Qu.:2012 1st Qu.:2013
## Median :2011 Median :2013 Median :2013 Median :2014 Median :2014
## Mean :2012 Mean :2013 Mean :2013 Mean :2014 Mean :2014
## 3rd Qu.:2014 3rd Qu.:2014 3rd Qu.:2015 3rd Qu.:2015 3rd Qu.:2016
## Max. :2018 Max. :2016 Max. :2017 Max. :2017 Max. :2018
## NA's :15 NA's :16 NA's :17 NA's :17 NA's :17
## YEAR_35 YEAR_36 YEAR_37 YEAR_38 YEAR_39
## Min. :2012 Min. :2012 Min. :2013 Min. :2013 Min. :2014
## 1st Qu.:2013 1st Qu.:2014 1st Qu.:2014 1st Qu.:2014 1st Qu.:2015
## Median :2015 Median :2014 Median :2015 Median :2015 Median :2015
## Mean :2015 Mean :2015 Mean :2015 Mean :2015 Mean :2015
## 3rd Qu.:2016 3rd Qu.:2017 3rd Qu.:2017 3rd Qu.:2016 3rd Qu.:2016
## Max. :2017 Max. :2017 Max. :2018 Max. :2018 Max. :2017
## NA's :18 NA's :20 NA's :20 NA's :22 NA's :23
## YEAR_4 YEAR_40 YEAR_41 YEAR_42 YEAR_43
## Min. :2007 Min. :2014 Min. :2015 Min. :2015 Min. :2016
## 1st Qu.:2008 1st Qu.:2015 1st Qu.:2016 1st Qu.:2016 1st Qu.:2017
## Median :2008 Median :2016 Median :2016 Median :2016 Median :2017
## Mean :2009 Mean :2016 Mean :2016 Mean :2016 Mean :2017
## 3rd Qu.:2010 3rd Qu.:2017 3rd Qu.:2017 3rd Qu.:2017 3rd Qu.:2017
## Max. :2016 Max. :2017 Max. :2018 Max. :2017 Max. :2018
## NA's :1 NA's :23 NA's :24 NA's :25 NA's :25
## YEAR_44 YEAR_45 YEAR_46 YEAR_47 YEAR_5
## Min. :2016 Min. :2017 Min. :2017 Min. :2018 Min. :2007
## 1st Qu.:2016 1st Qu.:2017 1st Qu.:2017 1st Qu.:2018 1st Qu.:2008
## Median :2017 Median :2018 Median :2017 Median :2018 Median :2009
## Mean :2017 Mean :2018 Mean :2017 Mean :2018 Mean :2010
## 3rd Qu.:2018 3rd Qu.:2018 3rd Qu.:2017 3rd Qu.:2018 3rd Qu.:2011
## Max. :2018 Max. :2018 Max. :2017 Max. :2018 Max. :2017
## NA's :26 NA's :27 NA's :28 NA's :28 NA's :1
## YEAR_6 YEAR_7 YEAR_8 YEAR_9 geometry
## Min. :2008 Min. :2006 Min. :2007 Min. :2007 POLYGON :29
## 1st Qu.:2009 1st Qu.:2009 1st Qu.:2010 1st Qu.:2010 epsg:4326 : 0
## Median :2009 Median :2010 Median :2010 Median :2011 +proj=long...: 0
## Mean :2011 Mean :2011 Mean :2012 Mean :2012
## 3rd Qu.:2012 3rd Qu.:2012 3rd Qu.:2013 3rd Qu.:2014
## Max. :2018 Max. :2018 Max. :2017 Max. :2017
## NA's :1 NA's :1 NA's :1 NA's :1
5.Trazado
library(RColorBrewer)
library(leaflet)
Ahora, se debe trazar los municipios con su producción de maíz correspondiente para un solo año:
bins <- c(0, 250, 500, 1000, 2000, 5000, 10000, 15000)
pal <- colorBin("YlOrRd", domain = ant_munic_stat$Produccion_12, bins = bins)
mapa <- leaflet(data = ant_munic_stat) %>%
addTiles() %>%
addPolygons(label = ~Produccion_12,
popup = ~MPIO_CNMBR,
fillColor = ~pal(Produccion_12),
color = "#444444",
weight = 1,
smoothFactor = 0.5,
opacity = 1.0,
fillOpacity = 0.5,
highlightOptions = highlightOptions(color = "white", weight = 2, bringToFront = TRUE)
) %>%
addProviderTiles(providers$OpenStreetMap) %>%
addLegend("bottomright", pal = pal, values = ~Produccion_12,
title = "Producción de maíz en Meta [Ton] (2018)",
opacity = 1
)
## Warning in pal(Produccion_12): Some values were outside the color scale and will
## be treated as NA
mapa