Este cuaderno de R tiene como objetivo presentar las estadísticas agrícolas del departamento de Boyacá, Colombia a través de representaciones gráficas y textuales. Por medio de este se conocerán algunas aplicaciones de la geomática en la agronomía.
knitr::opts_chunk$set(echo = TRUE)
Los datos no espaciales de una región no permiten un gran análisis sin realizar un tratamiento estadístico. Por ello, es importante hacer uso de las librerías “dplyr” y “tidyverse” que son de gran utilidad para explorar y resumir estadísticas. Por otro lado, las operaciones geoespaciales sirven para comprender lo que sucede a nivel territorial. Por ejemplo, buscar la ubicación de los municipios con rendimientos más altos. Para hacer este tipo de operaciones se deben unir los datos espaciales con los datos no espaciales. Comencemos eliminando el contenido de la memoria:
rm(list=ls())
Ahora, instalemos las bibliotecas que necesitamos. 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, carguemos las bibliotecas.
library(here)
library(tidyverse)
library(rgeos)
library(maptools)
library(raster)
library(sf)
library(viridis)
library(rnaturalearth)
library(GSODR)
library(ggrepel)
library(cowplot)
Previamente, he descargado datos estadísticos, en formato csv, sobre Estadisticas Municipales Agropecuarias a mi computadora. Luego, he usado Excel para eliminar filas para municipios en departamentos diferentes a Boyacá. Guardé el archivo con las filas restantes como un archivo local con el nombre EVA_Boyaca.csv A partir de la función “read.csv” se lee dicho archivo.
datos <- read_csv2("C:/Users/David Perdomo/Desktop/Geomatica/DOCS GEO/EVA_Boyaca.csv")
Using ',' as decimal and '.' as grouping mark. Use read_delim() for more control.
Parsed with column specification:
cols(
COD_DEP = col_double(),
DEPARTAMENTO = col_character(),
COD_MUN = col_double(),
MUNICIPIO = col_character(),
GRUPO = col_character(),
SUBGRUPO = col_character(),
CULTIVO = col_character(),
`DESAGREGACION REGIONAL Y/O SISTEMA PRODUCTIVO` = col_character(),
YEAR = col_double(),
PERIODO = col_character(),
Area_Sembrada = col_double(),
Area_Cosechada = col_double(),
produccion = col_double(),
rendimiento = col_double(),
`ESTADO FISICO PRODUCCION` = col_character(),
`NOMBRE
CIENTIFICO` = col_character(),
`CICLO DE CULTIVO` = col_character()
)
28 parsing failures.
row col expected actual file
3724 produccion no trailing characters .268 'C:/Users/David Perdomo/Desktop/Geomatica/DOCS GEO/EVA_Boyaca.csv'
3758 produccion no trailing characters .272 'C:/Users/David Perdomo/Desktop/Geomatica/DOCS GEO/EVA_Boyaca.csv'
3837 produccion no trailing characters .457 'C:/Users/David Perdomo/Desktop/Geomatica/DOCS GEO/EVA_Boyaca.csv'
3884 produccion no trailing characters .527 'C:/Users/David Perdomo/Desktop/Geomatica/DOCS GEO/EVA_Boyaca.csv'
3977 produccion no trailing characters .665 'C:/Users/David Perdomo/Desktop/Geomatica/DOCS GEO/EVA_Boyaca.csv'
.... .......... ...................... ...... ..................................................................
See problems(...) for more details.
head(datos)
tail(datos)
Tenga en cuenta que cada municipio tiene estadísticas sobre superficie sembrada, superficie cosechada y rendimiento para diferentes cultivos en diferentes años. El atributo SUBGRUPO y CULTIVO parecen referirse a lo mismo (es decir, un cultivo). Los cultivos se clasifican además en un GRUPO determinado. En esta tabla, no tenemos unidades. Sin embargo, si revisamos el archivo csv original, encontramos que las unidades de área son hectáreas y que las unidades de rendimiento son Ton / ha. Usaremos la biblioteca dplyr para explorar el contenido del objeto de datos. Primero, obtengamos 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
`summarise()` regrouping output by 'MUNICIPIO' (override with `.groups` argument)
head(rend_resumen)
También podemos calcular el rendimiento promedio por GRUPO en los municipios de Boyacá:
datos %>%
group_by(GRUPO) %>%
summarise(rend_dep = mean(rendimiento, na.rm = TRUE)) -> rend_boyaca
`summarise()` ungrouping output (override with `.groups` argument)
rend_boyaca
Nótese que los mayores rendimientos corresponden a HORTALIZAS, FRUTALES y OTROS PERMANTES. Luego, busquemos cuáles son los municipios con mayor rendimiento para cada grupo de cultivos en 2018:
datos %>%
filter(YEAR==2018) %>%
group_by(GRUPO, MUNICIPIO) %>%
summarize(max_rend = max(rendimiento, na.rm = TRUE)) %>%
slice(which.max(max_rend)) -> rend_max_18
`summarise()` regrouping output by 'GRUPO' (override with `.groups` argument)
rend_max_18
Ahora, busquemos cuáles son los municipios con mayor área cosechada para cada grupo de cultivos en 2018:
datos %>%
filter(YEAR==2018) %>%
group_by(GRUPO, MUNICIPIO) %>%
summarize(max_area_cosechada = max(Area_Cosechada, na.rm = TRUE)) %>%
slice(which.max(max_area_cosechada)) -> area_cosechada_max
`summarise()` regrouping output by 'GRUPO' (override with `.groups` argument)
area_cosechada_max
Nótese que la mayor superficie cosechada en 2018 correspondió a TUBERCULOS Y PLATANOS en CHIQUIZA. Quizás sepa que la economía de Maripi se basa se basa en la agricultura, la ganadería, la minería y el comercio. Entre los productos agrícolas del área ubicada en los pisos térmicos templado y cálido, se destaca la caña de azúcar, los cítricos, la yuca, el plátano y el Café Maripí ha sido reconocido a nivel regional por ser uno de los mayores productores de miel y panela, gracias a la calidad y cantidad de estos productos
Primero, seleccionemos la producción de Caña (toneladas) en Maripi para cada año
datos %>%
filter(MUNICIPIO=="CHIQUIZA" & SUBGRUPO=="PAPA") %>%
group_by(YEAR, CULTIVO) -> chiquiza_papa
chiquiza_papa
Hagamos una exploración gráfica básica:
g <- ggplot(aes(x=YEAR, y=produccion/1000), data =chiquiza_papa) + geom_bar(stat='identity') + labs(y='Produccion de PAPA [Ton x 1000]', x='AÑO')
g + ggtitle("Evolución de la producción de papa en Chiquiza de 2007 a 2018 ") + labs(caption= "Basado en el Ministerio de Agricultura y Desarrollo Rural. 2019.")
Ahora, investiguemos qué cultivos tuvieron la mayor área cosechada en 2018:
datos %>%
filter(YEAR==2018) %>%
group_by(GRUPO) %>%
summarize(sum_area_cosechada = sum(Area_Cosechada, na.rm = TRUE)) %>%
arrange(desc(sum_area_cosechada)) -> total_area_cosechada
`summarise()` ungrouping output (override with `.groups` argument)
total_area_cosechada
Podemos ver que TUBERCULOS Y PLATANOS tuvieron la mayor proporción de área cosechada en 2018 para Boyacá.
También podemos buscar esta información en los propios datos:
datos %>%
filter(GRUPO=="TUBERCULOS Y PLATANOS" & YEAR==2018) %>%
group_by(CULTIVO) %>%
summarize(sum_cosechada = sum(Area_Cosechada, na.rm = TRUE)) %>%
arrange(desc(sum_cosechada)) -> total_cosechada
`summarise()` ungrouping output (override with `.groups` argument)
total_cosechada
Ahora, veamos cuáles son los municipios con mayor área cosechada por cada cultivo de TUBERCULOS Y PLATANOS en 2018:
datos %>%
filter(YEAR==2018 & GRUPO=="TUBERCULOS Y PLATANOS") %>%
group_by(CULTIVO, MUNICIPIO) %>%
summarize(max_area2 = max(Area_Cosechada, na.rm = TRUE)) %>%
slice(which.max(max_area2)) -> area_cosecha2
`summarise()` regrouping output by 'CULTIVO' (override with `.groups` argument)
area_cosecha2
Volvamos a los datos de cultivos de TUBERCULOS Y PLATANOS. Antes de graficar, necesitaremos agregar, al objeto total_area_cosechada, un nuevo campo con abreviaturas para cada GRUPO de cultivos. De lo contrario, la trama se verá desordenada.
total_area_cosechada$CROP <- abbreviate(total_area_cosechada$GRUPO, 3)
g <- ggplot(aes(x=CROP, y=sum_area_cosechada), data = total_area_cosechada) + geom_bar(stat='identity') + labs(y='Área cosechadada total [Ha]')
g+ ggtitle("Área cosechada total por grupos de cultivos en 2018 para Boyacá") + theme(plot.title = element_text(hjust = 0.5)) +
labs(caption= "Basado en el Ministerio de Agricultura y Desarrollo Rural. 2019.")
utilizar el shapefile correspondiente a Marco Geoestadistico Departamental que se encuentra disponible en DANE Geoportal.
Comencemos a leer los datos usando la biblioteca sf:
ant_munic <- sf::st_read("C:/Users/David Perdomo/Desktop/Geomatica/15_BOYACA/ADMINISTRATIVO/MGN_MPIO_POLITICO.shp")
Reading layer `MGN_MPIO_POLITICO' from data source `C:\Users\David Perdomo\Desktop\Geomatica\15_BOYACA\ADMINISTRATIVO\MGN_MPIO_POLITICO.shp' using driver `ESRI Shapefile'
Simple feature collection with 123 features and 9 fields
geometry type: POLYGON
dimension: XY
bbox: xmin: -74.66496 ymin: 4.655196 xmax: -71.94885 ymax: 7.055557
geographic CRS: WGS 84
ant_munic
Simple feature collection with 123 features and 9 fields
geometry type: POLYGON
dimension: XY
bbox: xmin: -74.66496 ymin: 4.655196 xmax: -71.94885 ymax: 7.055557
geographic CRS: WGS 84
First 10 features:
DPTO_CCDGO MPIO_CCDGO MPIO_CNMBR
1 15 15001 TUNJA
2 15 15022 ALMEIDA
3 15 15047 AQUITANIA
4 15 15051 ARCABUCO
5 15 15087 BELÉN
6 15 15090 BERBEO
7 15 15092 BETÉITIVA
8 15 15097 BOAVITA
9 15 15104 BOYACÁ
10 15 15106 BRICEÑO
MPIO_CRSLC MPIO_NAREA MPIO_NANO
1 1541 119.68957 2017
2 1908 57.67212 2017
3 1789 942.14660 2017
4 1856 137.89859 2017
5 1756 163.08822 2017
6 Ordenanza 28 de Abril 9 de 1913 58.01301 2017
7 1754 101.89955 2017
8 1613 145.30529 2017
9 1537 48.02287 2017
10 Ordenanza 14 del 25 de Julio de 1890 64.59970 2017
DPTO_CNMBR Shape_Leng Shape_Area
1 BOYACÁ 0.5723744 0.009766301
2 BOYACÁ 0.3484692 0.004701759
3 BOYACÁ 1.8003115 0.076843504
4 BOYACÁ 0.7527090 0.011256738
5 BOYACÁ 0.6293489 0.013314920
6 BOYACÁ 0.4291743 0.004730850
7 BOYACÁ 0.4738184 0.008317810
8 BOYACÁ 0.6597822 0.011867743
9 BOYACÁ 0.3256140 0.003918022
10 BOYACÁ 0.4849753 0.005273255
geometry
1 POLYGON ((-73.34014 5.58308...
2 POLYGON ((-73.36793 5.01349...
3 POLYGON ((-72.76242 5.63856...
4 POLYGON ((-73.50487 5.84347...
5 POLYGON ((-72.91692 6.08612...
6 POLYGON ((-73.0677 5.27048,...
7 POLYGON ((-72.81796 5.97422...
8 POLYGON ((-72.64907 6.43640...
9 POLYGON ((-73.34806 5.47411...
10 POLYGON ((-73.89118 5.73749...
Para unir la información de las estadísticas agrícolas y la información municipal, inicialmente debemos generar un atributo en común entre ambos archivos, el cual, por conveniencia, será el código de cada municipio Para poder hacer la unión, necesitamos cambiar tanto el tipo de datos como el contenido del código que identifica a cada municipio. 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.
Procedamos paso a paso:
datos_2 <- datos
datos_2$TEMP <- as.character(datos_2$COD_MUN)
datos_2$MPIO_CCDGO <- as.factor(datos_2$TEMP)
datos_2
datos_2 %>% filter(CULTIVO == "PAPA") -> datos_3
datos_3
class(datos_3)
[1] "spec_tbl_df" "tbl_df" "tbl" "data.frame"
datos_4 <- datos_3 %>% dplyr::select(MUNICIPIO, MPIO_CCDGO, YEAR, produccion, rendimiento)
datos_4 %>%
gather("YEAR", "produccion", "rendimiento" , key = variable, value = number)
datos_4
Ésta es una tarea clave. Implica varios pasos para poder convertir la tabla de atributos de formato largo a formato ancho.
datos_4 %>%
group_by(MPIO_CCDGO) %>%
mutate(Visit = 1:n()) %>%
gather("YEAR", "produccion", "rendimiento", key = variable, value = number) %>%
unite(combi, variable, Visit) %>%
spread(combi, number) -> datos_5
datos_5
Se realiza una copia de los datos originales por si se da la situacion de realizar algún cambio:
ant_munic2 <- ant_munic
ant_munic_stat =left_join(ant_munic2, datos_5, by="MPIO_CCDGO")
summary(ant_munic_stat)
DPTO_CCDGO MPIO_CCDGO MPIO_CNMBR
Length:124 Length:124 Length:124
Class :character Class :character Class :character
Mode :character Mode :character Mode :character
MPIO_CRSLC MPIO_NAREA MPIO_NANO
Length:124 Min. : 25.35 Min. :2017
Class :character 1st Qu.: 64.43 1st Qu.:2017
Mode :character Median : 122.35 Median :2017
Mean : 187.31 Mean :2017
3rd Qu.: 201.57 3rd Qu.:2017
Max. :1513.60 Max. :2017
DPTO_CNMBR Shape_Leng Shape_Area
Length:124 Min. :0.2045 Min. :0.002069
Class :character 1st Qu.:0.3861 1st Qu.:0.005259
Mode :character Median :0.5308 Median :0.009990
Mean :0.6347 Mean :0.015287
3rd Qu.:0.7495 3rd Qu.:0.016435
Max. :2.4039 Max. :0.123610
MUNICIPIO produccion_1 produccion_10
Length:124 Min. : 1.08 Min. : 1.008
Class :character 1st Qu.: 3.23 1st Qu.: 3.868
Mode :character Median : 11.00 Median : 23.451
Mean :167.64 Mean :148.657
3rd Qu.:191.50 3rd Qu.:203.000
Max. :960.00 Max. :960.000
produccion_11 produccion_12 produccion_13
Min. : 1.027 Min. : 1.050 Min. : 1.140
1st Qu.: 3.315 1st Qu.: 4.004 1st Qu.: 3.703
Median : 25.252 Median : 16.564 Median : 15.050
Mean :158.639 Mean :142.317 Mean :147.038
3rd Qu.:197.000 3rd Qu.:160.000 3rd Qu.:172.500
Max. :960.000 Max. :900.000 Max. :960.000
produccion_14 produccion_15 produccion_16
Min. : 1.000 Min. : 1.140 Min. : 1.00
1st Qu.: 5.616 1st Qu.: 3.721 1st Qu.: 6.18
Median : 18.000 Median : 22.500 Median : 28.50
Mean :156.517 Mean :161.383 Mean :169.71
3rd Qu.:192.000 3rd Qu.:180.000 3rd Qu.:246.50
Max. :893.000 Max. :900.000 Max. :990.00
produccion_17 produccion_18 produccion_19
Min. : 1.105 Min. : 1.20 Min. : 1.0
1st Qu.: 4.062 1st Qu.: 2.80 1st Qu.: 3.8
Median : 33.505 Median : 15.97 Median : 27.0
Mean :185.834 Mean :136.22 Mean : 21835.8
3rd Qu.:239.500 3rd Qu.:150.00 3rd Qu.: 318.8
Max. :999.000 Max. :960.00 Max. :1560094.0
produccion_2 produccion_20 produccion_21
Min. : 1.120 Min. : 1.00 Min. : 1.02
1st Qu.: 3.185 1st Qu.: 3.40 1st Qu.: 3.60
Median : 13.500 Median : 20.77 Median : 24.00
Mean :163.421 Mean :117.88 Mean :121.31
3rd Qu.:158.500 3rd Qu.:150.00 3rd Qu.:150.00
Max. :980.000 Max. :750.00 Max. :936.00
produccion_22 produccion_23 produccion_24
Min. : 1.248 Min. : 1.014 Min. : 1.040
1st Qu.: 4.150 1st Qu.: 3.506 1st Qu.: 3.058
Median : 28.000 Median : 15.650 Median : 20.400
Mean :159.403 Mean :102.551 Mean : 96.924
3rd Qu.:233.500 3rd Qu.:130.500 3rd Qu.: 63.000
Max. :960.000 Max. :780.000 Max. :900.000
produccion_25 produccion_26 produccion_27
Min. : 1.5 Min. : 1.2 Min. : 1.35
1st Qu.: 37.5 1st Qu.: 10.0 1st Qu.: 9.50
Median :100.0 Median : 80.0 Median : 53.00
Mean :206.9 Mean :157.5 Mean :166.75
3rd Qu.:348.5 3rd Qu.:234.0 3rd Qu.:195.00
Max. :675.0 Max. :700.0 Max. :864.00
produccion_28 produccion_29 produccion_3
Min. : 1.47 Min. : 1.35 Min. : 1.00
1st Qu.: 29.00 1st Qu.: 30.75 1st Qu.: 4.68
Median : 54.00 Median : 89.00 Median : 24.12
Mean :216.88 Mean :188.18 Mean :180.94
3rd Qu.:369.50 3rd Qu.:266.25 3rd Qu.:199.00
Max. :936.00 Max. :900.00 Max. :980.00
produccion_30 produccion_31 produccion_32
Min. : 1.2 Min. : 8.00 Min. : 1.00
1st Qu.: 25.0 1st Qu.: 41.25 1st Qu.: 9.75
Median : 72.0 Median :130.50 Median : 51.50
Mean :190.0 Mean :241.01 Mean :167.23
3rd Qu.:204.0 3rd Qu.:375.00 3rd Qu.:207.50
Max. :954.0 Max. :825.00 Max. :918.00
produccion_33 produccion_34 produccion_35
Min. : 1.25 Min. : 1.58 Min. : 1.4
1st Qu.: 30.00 1st Qu.: 26.71 1st Qu.: 15.6
Median : 80.00 Median : 73.00 Median : 67.0
Mean :210.56 Mean :252.18 Mean :199.9
3rd Qu.:200.00 3rd Qu.:444.25 3rd Qu.:270.0
Max. :846.00 Max. :900.00 Max. :780.0
produccion_36 produccion_37 produccion_38
Min. : 1.20 Min. : 2.8 Min. : 1.40
1st Qu.: 11.21 1st Qu.: 24.0 1st Qu.: 28.75
Median : 70.00 Median :139.0 Median : 70.00
Mean :193.71 Mean :265.1 Mean :177.31
3rd Qu.:360.00 3rd Qu.:517.5 3rd Qu.:290.00
Max. :648.00 Max. :740.0 Max. :576.00
produccion_39 produccion_4 produccion_40
Min. : 2.80 Min. : 1.02 Min. : 1.40
1st Qu.: 20.32 1st Qu.: 4.65 1st Qu.: 49.95
Median : 49.50 Median : 25.00 Median : 76.00
Mean :122.51 Mean : 323.77 Mean :220.65
3rd Qu.:116.25 3rd Qu.: 165.00 3rd Qu.:472.50
Max. :540.00 Max. :15600.00 Max. :550.00
produccion_41 produccion_42 produccion_43
Min. : 3.40 Min. : 1.4 Min. : 3.4
1st Qu.: 35.38 1st Qu.:112.0 1st Qu.: 75.0
Median :150.00 Median :420.0 Median :420.0
Mean :250.02 Mean :311.9 Mean :290.5
3rd Qu.:343.00 3rd Qu.:450.0 3rd Qu.:450.0
Max. :840.00 Max. :576.0 Max. :504.0
produccion_44 produccion_45 produccion_46 produccion_5
Min. : 60.0 Min. : 75.0 Min. :518 Min. : 1.00
1st Qu.:270.0 1st Qu.:178.8 1st Qu.:518 1st Qu.: 4.68
Median :480.0 Median :282.5 Median :518 Median : 20.00
Mean :343.3 Mean :282.5 Mean :518 Mean :134.03
3rd Qu.:485.0 3rd Qu.:386.2 3rd Qu.:518 3rd Qu.:171.00
Max. :490.0 Max. :490.0 Max. :518 Max. :990.00
produccion_6 produccion_7 produccion_8
Min. : 1.080 Min. : 1.00 Min. : 1.035
1st Qu.: 4.535 1st Qu.: 3.12 1st Qu.: 3.945
Median : 25.220 Median : 30.00 Median : 24.000
Mean :143.545 Mean :152.07 Mean :139.103
3rd Qu.:187.500 3rd Qu.:217.50 3rd Qu.:161.000
Max. :840.000 Max. :960.00 Max. :980.000
produccion_9 rendimiento_1 rendimiento_10
Min. : 1.000 Min. : 3.0 Min. : 5.0
1st Qu.: 3.184 1st Qu.: 12.0 1st Qu.: 12.0
Median : 21.940 Median : 16.0 Median : 16.5
Mean :153.358 Mean : 342.6 Mean : 411.7
3rd Qu.:204.250 3rd Qu.: 124.5 3rd Qu.: 148.0
Max. :975.000 Max. :2268.0 Max. :4455.0
rendimiento_11 rendimiento_12 rendimiento_13
Min. : 5.0 Min. : 5.0 Min. : 6.0
1st Qu.: 12.0 1st Qu.: 12.0 1st Qu.: 12.0
Median : 15.0 Median : 15.0 Median : 15.0
Mean : 255.8 Mean : 157.4 Mean : 129.3
3rd Qu.: 85.0 3rd Qu.: 25.0 3rd Qu.: 20.0
Max. :2457.0 Max. :2932.0 Max. :2176.0
rendimiento_14 rendimiento_15 rendimiento_16
Min. : 4.00 Min. : 4.0 Min. : 3.00
1st Qu.: 10.00 1st Qu.: 12.0 1st Qu.: 12.00
Median : 15.00 Median : 15.0 Median : 15.00
Mean : 63.57 Mean : 134.7 Mean : 58.99
3rd Qu.: 20.00 3rd Qu.: 22.0 3rd Qu.: 20.00
Max. :1978.00 Max. :2248.0 Max. :1375.00
rendimiento_17 rendimiento_18 rendimiento_19
Min. : 6.0 Min. : 1.0 Min. : 6.0
1st Qu.: 12.0 1st Qu.: 12.0 1st Qu.: 12.0
Median : 15.0 Median : 15.0 Median : 15.0
Mean : 224.7 Mean : 161.7 Mean : 115.7
3rd Qu.: 25.0 3rd Qu.: 25.0 3rd Qu.: 20.0
Max. :3011.0 Max. :2967.0 Max. :2375.0
rendimiento_2 rendimiento_20 rendimiento_21
Min. : 3.0 Min. : 4.0 Min. : 4.0
1st Qu.: 12.0 1st Qu.: 12.0 1st Qu.: 12.0
Median : 15.0 Median : 16.0 Median : 16.0
Mean : 384.5 Mean : 205.6 Mean : 202.1
3rd Qu.: 134.5 3rd Qu.: 25.0 3rd Qu.: 24.0
Max. :2127.0 Max. :2729.0 Max. :3491.0
rendimiento_22 rendimiento_23 rendimiento_24
Min. : 4.00 Min. : 5.0 Min. : 5.0
1st Qu.: 12.75 1st Qu.: 12.0 1st Qu.: 12.0
Median : 18.00 Median : 18.0 Median : 17.5
Mean : 228.84 Mean : 204.4 Mean : 239.2
3rd Qu.: 30.00 3rd Qu.: 25.0 3rd Qu.: 24.0
Max. :2707.00 Max. :2473.0 Max. :2708.0
rendimiento_25 rendimiento_26 rendimiento_27
Min. : 5.0 Min. : 4.00 Min. : 2.00
1st Qu.: 9.5 1st Qu.: 9.00 1st Qu.: 8.75
Median : 12.0 Median : 12.00 Median :12.50
Mean : 119.9 Mean : 85.62 Mean :14.88
3rd Qu.: 16.5 3rd Qu.: 15.00 3rd Qu.:16.50
Max. :2125.0 Max. :2126.00 Max. :64.00
rendimiento_28 rendimiento_29 rendimiento_3
Min. : 2.00 Min. : 4.00 Min. : 4.0
1st Qu.: 6.50 1st Qu.: 6.50 1st Qu.: 12.0
Median :10.00 Median :10.00 Median : 15.0
Mean :14.26 Mean :13.41 Mean : 297.7
3rd Qu.:17.00 3rd Qu.:15.00 3rd Qu.: 152.0
Max. :64.00 Max. :64.00 Max. :2133.0
rendimiento_30 rendimiento_31 rendimiento_32
Min. : 4.00 Min. : 5.00 Min. : 4.00
1st Qu.: 7.50 1st Qu.: 8.00 1st Qu.: 6.50
Median :10.00 Median : 9.00 Median : 9.00
Mean :11.15 Mean :14.00 Mean :13.50
3rd Qu.:15.00 3rd Qu.:15.75 3rd Qu.:14.25
Max. :21.00 Max. :75.00 Max. :75.00
rendimiento_33 rendimiento_34 rendimiento_35
Min. : 4.00 Min. : 4.00 Min. : 4.00
1st Qu.: 7.00 1st Qu.: 6.75 1st Qu.: 7.00
Median : 9.00 Median : 10.00 Median : 11.00
Mean :14.06 Mean : 83.06 Mean : 121.00
3rd Qu.:13.00 3rd Qu.: 13.75 3rd Qu.: 12.25
Max. :85.00 Max. :1014.00 Max. :1784.00
rendimiento_36 rendimiento_37 rendimiento_38
Min. : 4.00 Min. : 4.00 Min. : 4.00
1st Qu.:10.00 1st Qu.: 8.00 1st Qu.: 9.00
Median :10.00 Median :10.00 Median :10.00
Mean :10.92 Mean :11.83 Mean :12.36
3rd Qu.:12.00 3rd Qu.:13.50 3rd Qu.:15.00
Max. :19.00 Max. :25.00 Max. :25.00
rendimiento_39 rendimiento_4 rendimiento_40
Min. : 5.00 Min. : 5.0 Min. : 8.00
1st Qu.: 8.00 1st Qu.: 12.0 1st Qu.: 9.50
Median :12.50 Median : 15.0 Median :12.50
Mean :12.38 Mean : 420.1 Mean :13.00
3rd Qu.:15.75 3rd Qu.: 449.0 3rd Qu.:15.75
Max. :20.00 Max. :3091.0 Max. :20.00
rendimiento_41 rendimiento_42 rendimiento_43 rendimiento_44
Min. : 8.00 Min. :12.0 Min. :12 Min. :12.00
1st Qu.: 12.50 1st Qu.:14.0 1st Qu.:15 1st Qu.:13.00
Median : 15.00 Median :15.0 Median :15 Median :14.00
Mean : 37.29 Mean :15.8 Mean :16 Mean :13.67
3rd Qu.: 19.00 3rd Qu.:18.0 3rd Qu.:18 3rd Qu.:14.50
Max. :175.00 Max. :20.0 Max. :20 Max. :15.00
rendimiento_45 rendimiento_46 rendimiento_5
Min. :14.00 Min. :14 Min. : 3.0
1st Qu.:14.25 1st Qu.:14 1st Qu.: 12.0
Median :14.50 Median :14 Median : 15.0
Mean :14.50 Mean :14 Mean : 365.8
3rd Qu.:14.75 3rd Qu.:14 3rd Qu.: 135.0
Max. :15.00 Max. :14 Max. :2187.0
rendimiento_6 rendimiento_7 rendimiento_8
Min. : 5.0 Min. : 5.0 Min. : 5.0
1st Qu.: 12.0 1st Qu.: 12.0 1st Qu.: 12.0
Median : 15.0 Median : 15.0 Median : 16.0
Mean : 406.2 Mean : 363.7 Mean : 266.4
3rd Qu.: 129.0 3rd Qu.: 125.0 3rd Qu.: 114.0
Max. :2786.0 Max. :2302.0 Max. :2549.0
rendimiento_9 YEAR_1 YEAR_10 YEAR_11
Min. : 2.0 Min. :2006 Min. :2009 Min. :2010
1st Qu.: 12.0 1st Qu.:2006 1st Qu.:2011 1st Qu.:2011
Median : 16.0 Median :2006 Median :2011 Median :2011
Mean : 247.2 Mean :2006 Mean :2012 Mean :2012
3rd Qu.: 40.5 3rd Qu.:2006 3rd Qu.:2012 3rd Qu.:2013
Max. :2578.0 Max. :2015 Max. :2018 Max. :2018
YEAR_12 YEAR_13 YEAR_14 YEAR_15
Min. :2010 Min. :2011 Min. :2011 Min. :2012
1st Qu.:2012 1st Qu.:2012 1st Qu.:2013 1st Qu.:2013
Median :2012 Median :2012 Median :2013 Median :2013
Mean :2013 Mean :2013 Mean :2014 Mean :2014
3rd Qu.:2013 3rd Qu.:2014 3rd Qu.:2014 3rd Qu.:2015
Max. :2018 Max. :2018 Max. :2017 Max. :2018
YEAR_16 YEAR_17 YEAR_18 YEAR_19
Min. :2012 Min. :2007 Min. :2008 Min. :2006
1st Qu.:2014 1st Qu.:2014 1st Qu.:2015 1st Qu.:2015
Median :2014 Median :2014 Median :2015 Median :2015
Mean :2015 Mean :2015 Mean :2015 Mean :2015
3rd Qu.:2015 3rd Qu.:2015 3rd Qu.:2016 3rd Qu.:2016
Max. :2018 Max. :2018 Max. :2018 Max. :2018
YEAR_2 YEAR_20 YEAR_21 YEAR_22
Min. :2007 Min. :2007 Min. :2009 Min. :2007
1st Qu.:2007 1st Qu.:2016 1st Qu.:2016 1st Qu.:2017
Median :2007 Median :2016 Median :2016 Median :2017
Mean :2007 Mean :2016 Mean :2016 Mean :2017
3rd Qu.:2007 3rd Qu.:2016 3rd Qu.:2017 3rd Qu.:2017
Max. :2016 Max. :2018 Max. :2018 Max. :2018
YEAR_23 YEAR_24 YEAR_25 YEAR_26
Min. :2006 Min. :2006 Min. :2006 Min. :2007
1st Qu.:2017 1st Qu.:2017 1st Qu.:2007 1st Qu.:2008
Median :2017 Median :2018 Median :2009 Median :2009
Mean :2016 Mean :2016 Mean :2011 Mean :2011
3rd Qu.:2017 3rd Qu.:2018 3rd Qu.:2014 3rd Qu.:2013
Max. :2018 Max. :2018 Max. :2018 Max. :2018
YEAR_27 YEAR_28 YEAR_29 YEAR_3
Min. :2007 Min. :2008 Min. :2008 Min. :2007
1st Qu.:2009 1st Qu.:2009 1st Qu.:2010 1st Qu.:2007
Median :2010 Median :2010 Median :2011 Median :2007
Mean :2011 Mean :2011 Mean :2012 Mean :2007
3rd Qu.:2013 3rd Qu.:2014 3rd Qu.:2015 3rd Qu.:2007
Max. :2018 Max. :2017 Max. :2018 Max. :2014
YEAR_30 YEAR_31 YEAR_32 YEAR_33
Min. :2009 Min. :2009 Min. :2010 Min. :2010
1st Qu.:2010 1st Qu.:2012 1st Qu.:2011 1st Qu.:2012
Median :2011 Median :2013 Median :2013 Median :2013
Mean :2012 Mean :2013 Mean :2014 Mean :2014
3rd Qu.:2014 3rd Qu.:2015 3rd Qu.:2016 3rd Qu.:2017
Max. :2017 Max. :2017 Max. :2017 Max. :2018
YEAR_34 YEAR_35 YEAR_36 YEAR_37
Min. :2012 Min. :2012 Min. :2013 Min. :2013
1st Qu.:2013 1st Qu.:2014 1st Qu.:2014 1st Qu.:2015
Median :2015 Median :2014 Median :2015 Median :2016
Mean :2015 Mean :2015 Mean :2015 Mean :2016
3rd Qu.:2016 3rd Qu.:2016 3rd Qu.:2017 3rd Qu.:2017
Max. :2018 Max. :2018 Max. :2017 Max. :2018
YEAR_38 YEAR_39 YEAR_4 YEAR_40
Min. :2014 Min. :2014 Min. :2007 Min. :2015
1st Qu.:2015 1st Qu.:2015 1st Qu.:2008 1st Qu.:2016
Median :2016 Median :2016 Median :2008 Median :2016
Mean :2016 Mean :2016 Mean :2008 Mean :2016
3rd Qu.:2018 3rd Qu.:2017 3rd Qu.:2008 3rd Qu.:2017
Max. :2018 Max. :2017 Max. :2014 Max. :2018
YEAR_41 YEAR_42 YEAR_43 YEAR_44
Min. :2015 Min. :2016 Min. :2016 Min. :2017
1st Qu.:2016 1st Qu.:2016 1st Qu.:2017 1st Qu.:2017
Median :2017 Median :2017 Median :2017 Median :2017
Mean :2017 Mean :2017 Mean :2017 Mean :2017
3rd Qu.:2018 3rd Qu.:2017 3rd Qu.:2018 3rd Qu.:2018
Max. :2018 Max. :2017 Max. :2018 Max. :2018
YEAR_45 YEAR_46 YEAR_5 YEAR_6
Min. :2017 Min. :2018 Min. :2008 Min. :2008
1st Qu.:2017 1st Qu.:2018 1st Qu.:2008 1st Qu.:2009
Median :2018 Median :2018 Median :2008 Median :2009
Mean :2018 Mean :2018 Mean :2009 Mean :2010
3rd Qu.:2018 3rd Qu.:2018 3rd Qu.:2008 3rd Qu.:2009
Max. :2018 Max. :2018 Max. :2016 Max. :2016
YEAR_7 YEAR_8 YEAR_9
Min. :2008 Min. :2009 Min. :2009
1st Qu.:2009 1st Qu.:2010 1st Qu.:2010
Median :2009 Median :2010 Median :2010
Mean :2010 Mean :2011 Mean :2011
3rd Qu.:2010 3rd Qu.:2011 3rd Qu.:2011
Max. :2016 Max. :2017 Max. :2017
geometry
POLYGON :124
epsg:4326 : 0
+proj=long...: 0
[ reached getOption("max.print") -- omitted 1 row ]
install.packages("RColorBrewer")
Error in install.packages : Updating loaded packages
library(RColorBrewer)
library(leaflet)
Grafiquemos los municipios con su correspondiente producción de PAPA para un solo año:
bins <- c(0, 250, 500, 1000, 2000, 5000, 10000, 15000)
pal <- colorBin("YlOrRd", domain = ant_munic_stat$produccion_13, bins = bins)
mapa <- leaflet(data = ant_munic_stat) %>%
addTiles() %>%
addPolygons(label = ~produccion_13,
popup = ~MPIO_CNMBR,
fillColor = ~pal(produccion_13),
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_13,
title = "Producción de PAPA en Boyacá [Ton] (2018)",
opacity = 1
)
mapa
Tenga en cuenta que utilicé tanto etiquetas como ventanas emergentes en este mapa. Ahora trazaremos el rendimiento por municipio.
bins <- c(0, 250, 500, 1000, 2000, 5000, 10000, 15000)
pal <- colorBin("YlOrRd", domain = ant_munic_stat$rendimiento_13, bins = bins)
mapa2 <- leaflet(data = ant_munic_stat) %>%
addTiles() %>%
addPolygons(label = ~rendimiento_13,
popup = ~MPIO_CNMBR,
fillColor = ~pal(rendimiento_13),
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 = ~rendimiento_13,
title = "Rendimiento de PAPA en Boyacá [Ton] (2018)",
opacity = 1
)
mapa2