knitr::opts_chunk$set(echo = TRUE)
##esta primera linea borra cualquier objeto que pudiera tener almacenado el programa
rm(list=ls())
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)
library(here)
library(tidyverse)
library(rgeos)
library(maptools)
library(raster)
library(sf)
library(viridis)
library(rnaturalearth)
library(GSODR)
library(ggrepel)
library(cowplot)
datos <- read_csv2("d:/Users/Janus/Documents/Geomatica basica/18_CAQUETA/Caqueta_EVA.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(),
YEAR = col_double(),
PERIODO = col_character(),
`H_Sembrada
` = col_double(),
H_Cosechada = col_double(),
PROD = col_double(),
REND = col_double(),
`ESTADO FISICO PRODUCCION` = col_character(),
`CICLO_ CULTIVO` = col_character()
)
datos
head(datos)
tail(datos)
library(dplyr)
datos %>%
group_by(MUNICIPIO, GRUPO) %>%
summarise(rend_prom = mean(REND, na.rm = TRUE)) -> REND_resumen
`summarise()` regrouping output by 'MUNICIPIO' (override with `.groups` argument)
REND_resumen
NA
##En esta nueva exploracion, vemos otra agrupacion de los datos, en donde se muestra el rendimiento promedio de cada grupo de cultivo en Ton/año en Caqueta, donde observamos que se destacan los otros permanentes y los cereales, mas adelante veremos que importancia pueden tener estos datos
datos %>%
group_by(MUNICIPIO, GRUPO) %>%
summarise(rend_prom = mean(REND, na.rm = TRUE)) -> rend_resumen
`summarise()` regrouping output by 'MUNICIPIO' (override with `.groups` argument)
head(rend_resumen)
datos %>%filter(YEAR==2018) %>%
group_by(GRUPO, MUNICIPIO) %>%
summarize(max_rend = max(PROD, na.rm = TRUE)) %>%
slice(which.max(max_rend)) -> REND_max_2018
`summarise()` regrouping output by 'GRUPO' (override with `.groups` argument)
REND_max_2018
datos %>%filter(YEAR==2018) %>% group_by(GRUPO, MUNICIPIO) %>%
summarize(max_HECT_COS = max(H_Cosechada, na.rm = TRUE)) %>%
slice(which.max(max_HECT_COS)) -> area_cosecha_max
`summarise()` regrouping output by 'GRUPO' (override with `.groups` argument)
area_cosecha_max
datos %>% filter(GRUPO=="OTROS PERMANENTES") %>% group_by(MUNICIPIO,SUBGRUPO="CANA", CULTIVO="CANA PANELERA") %>% summarise (max_PROD=max(PROD, na.rm = TRUE)) %>% slice(which.max(max_PROD))->PROD_max
`summarise()` regrouping output by 'MUNICIPIO', 'SUBGRUPO' (override with `.groups` argument)
PROD_max
datos %>%
filter(MUNICIPIO=="SAN VICENTE DEL CAGUAN" & SUBGRUPO=="CANA") %>%
group_by(YEAR, CULTIVO="CANA PANELERA") -> SANV_CACAO
SANV_CACAO
g <- ggplot(aes(x=YEAR, y= PROD/100), data = SANV_CACAO) + geom_bar(stat='identity') + labs(y='Cana panelera Production [Ton x 1000]')
g + ggtitle("Evolution of cana panelera production in SAN VICENTE DEL CAGUAN from 2013 to 2018") + labs(caption= "Based on EMA data (DANE, 2018)")
datos %>%
filter(YEAR==2018) %>%
group_by(GRUPO) %>%
summarize(sum_HECT_COS = sum(H_Cosechada, na.rm = TRUE)) %>%
arrange(desc(sum_HECT_COS)) -> total_HECT_COS
`summarise()` ungrouping output (override with `.groups` argument)
total_HECT_COS
datos %>% filter(GRUPO=="OTROS PERMANENTES"& YEAR==2018) %>% group_by(CULTIVO) %>% summarize(sum_cosecha = sum(H_Cosechada, na.rm = TRUE)) %>%
arrange(desc(sum_cosecha)) -> TOT_COSECHA
`summarise()` ungrouping output (override with `.groups` argument)
TOT_COSECHA
datos %>%
filter(YEAR==2018 & GRUPO=="OTROS PERMANENTES") %>%
group_by(CULTIVO, MUNICIPIO) %>%
summarize(AREA_COS_MUN = max(H_Cosechada, na.rm = TRUE)) %>%
slice(which.max(AREA_COS_MUN)) ->max_area2
`summarise()` regrouping output by 'CULTIVO' (override with `.groups` argument)
max_area2
total_HECT_COS$CROP <- abbreviate(total_HECT_COS$GRUPO, 3)
g <- ggplot(aes(x=CROP, y=sum_HECT_COS), data = total_HECT_COS) + geom_bar(stat='identity') + labs(y='Total Harvested Area [Ha]')
g+ ggtitle("Total harvested area by crop groups in 2018 for Caqueta") + theme(plot.title = element_text(hjust = 0.5)) +
labs(caption= "Based on EMA data (DANE, 2018)")
Caq_MUN <-sf::st_read("d:/Users/Janus/Documents/Geomatica basica/18_CAQUETA/ADMINISTRATIVO/MGN_MPIO_POLITICO.shp")
Reading layer `MGN_MPIO_POLITICO' from data source `D:\Users\Janus\Documents\Geomatica basica\18_CAQUETA\ADMINISTRATIVO\MGN_MPIO_POLITICO.shp' using driver `ESRI Shapefile'
Simple feature collection with 16 features and 9 fields
geometry type: POLYGON
dimension: XY
bbox: xmin: -76.30622 ymin: -0.70584 xmax: -71.25385 ymax: 2.964148
geographic CRS: WGS 84
Caq_MUN
Simple feature collection with 16 features and 9 fields
geometry type: POLYGON
dimension: XY
bbox: xmin: -76.30622 ymin: -0.70584 xmax: -71.25385 ymax: 2.964148
geographic CRS: WGS 84
First 10 features:
DPTO_CCDGO MPIO_CCDGO MPIO_CNMBR
1 18 18001 FLORENCIA
2 18 18029 ALBANIA
3 18 18094 BELÉN DE LOS ANDAQUÍES
4 18 18247 EL DONCELLO
5 18 18256 EL PAUJIL
6 18 18410 LA MONTAÑITA
7 18 18460 MILÁN
8 18 18479 MORELIA
9 18 18610 SAN JOSÉ DEL FRAGUA
10 18 18860 VALPARAÍSO
MPIO_CRSLC MPIO_NAREA MPIO_NANO DPTO_CNMBR
1 Decreto 642 de Junio 17 de 1912 2547.6384 2017 CAQUETÁ
2 Ordenanza 3 de Noviembre 12 de 1985 414.1220 2017 CAQUETÁ
3 Decreto 963 de Marzo 14 de 1950 1191.6187 2017 CAQUETÁ
4 Decreto 1678 de Septiembre 7 de 1967 1105.8029 2017 CAQUETÁ
5 Decreto 1678 de Septiembret 7 de 1967 1234.7427 2017 CAQUETÁ
6 Decreto 83 de Julio 6 de 1955 1701.0522 2017 CAQUETÁ
7 Ordenanza 3 de Noviembre 12 de 1985 1220.5726 2017 CAQUETÁ
8 Ordenanza 3 de Noviembre 12 de 1985 462.4799 2017 CAQUETÁ
9 Ordenanza 3 de Noviembre 12 de 1985 1304.7690 2017 CAQUETÁ
10 Ordenanza 3 de Noviembre 12 de 1985 1330.2126 2017 CAQUETÁ
Shape_Leng Shape_Area geometry
1 2.942508 0.20692777 POLYGON ((-75.42074 2.19413...
2 1.112829 0.03361758 POLYGON ((-75.89506 1.36569...
3 2.234657 0.09674460 POLYGON ((-75.78705 1.74982...
4 3.154370 0.08986744 POLYGON ((-75.36167 2.32142...
5 3.529316 0.10030928 POLYGON ((-75.36691 2.21234...
6 3.402939 0.13817351 POLYGON ((-75.40404 1.76944...
7 1.863197 0.09912782 POLYGON ((-75.39362 1.35738...
8 1.518688 0.03755356 POLYGON ((-75.77185 1.57991...
9 2.040837 0.10589313 POLYGON ((-76.16722 1.58752...
10 2.313848 0.10800551 POLYGON ((-75.73128 1.32740...
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 == "CANA PANELERA") -> 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, PROD, REND)
datos_4 %>%
gather("YEAR", "PROD", "REND" , key = variable, value = number)
datos_4
datos_4 %>%
group_by(MPIO_CCDGO) %>%
mutate(Visit = 1:n()) %>%
gather("YEAR", "PROD", "REND", key = variable, value = number) %>%
unite(combi, variable, Visit) %>%
spread(combi, number) -> datos_5
datos_5
Caq_MUN_stat =left_join(Caq_MUN, datos_5, by="MPIO_CCDGO")
summary(Caq_MUN_stat)
DPTO_CCDGO MPIO_CCDGO MPIO_CNMBR
Length:16 Length:16 Length:16
Class :character Class :character Class :character
Mode :character Mode :character Mode :character
MPIO_CRSLC MPIO_NAREA MPIO_NANO DPTO_CNMBR
Length:16 Min. : 403.4 Min. :2017 Length:16
Class :character 1st Qu.: 948.6 1st Qu.:2017 Class :character
Mode :character Median : 1269.8 Median :2017 Mode :character
Mean : 5631.4 Mean :2017
3rd Qu.: 2947.4 3rd Qu.:2017
Max. :42312.8 Max. :2017
Shape_Leng Shape_Area MUNICIPIO PROD_1
Min. : 1.113 Min. :0.03274 Length:16 Min. : 1.58
1st Qu.: 1.794 1st Qu.:0.07708 Class :character 1st Qu.: 39.00
Median : 2.628 Median :0.10310 Mode :character Median :214.00
Mean : 4.483 Mean :0.45741 Mean :244.89
3rd Qu.: 3.713 3rd Qu.:0.23944 3rd Qu.:311.00
Max. :20.046 Max. :3.43579 Max. :926.00
NA's :5
PROD_10 PROD_11 PROD_12 PROD_2
Min. : 1.32 Min. : 1.44 Min. : 96 Min. : 2.1
1st Qu.: 3.03 1st Qu.: 134.00 1st Qu.: 488 1st Qu.: 95.5
Median : 42.00 Median : 400.00 Median :1212 Median : 240.0
Mean :204.26 Mean :1276.59 Mean :1784 Mean : 377.7
3rd Qu.:410.00 3rd Qu.:1808.00 3rd Qu.:2580 3rd Qu.: 376.5
Max. :680.00 Max. :5431.00 Max. :5594 Max. :1537.0
NA's :5 NA's :5 NA's :6 NA's :5
PROD_3 PROD_4 PROD_5 PROD_6
Min. : 1.0 Min. : 1.35 Min. : 86.0 Min. : 1.11
1st Qu.: 95.5 1st Qu.: 165.50 1st Qu.: 283.5 1st Qu.: 1.20
Median : 240.0 Median : 275.00 Median : 929.0 Median : 1.30
Mean : 710.1 Mean : 879.12 Mean :1279.4 Mean :111.97
3rd Qu.: 463.5 3rd Qu.: 837.00 3rd Qu.:1577.0 3rd Qu.:188.00
Max. :4386.0 Max. :4845.00 Max. :5557.0 Max. :450.00
NA's :5 NA's :5 NA's :5 NA's :5
PROD_7 PROD_8 PROD_9 REND_1
Min. : 1.05 Min. : 1.28 Min. : 1.32 Min. :3.520
1st Qu.: 1.41 1st Qu.: 53.50 1st Qu.: 48.50 1st Qu.:5.490
Median : 44.00 Median : 126.00 Median : 525.00 Median :5.520
Mean : 580.05 Mean : 266.00 Mean : 602.10 Mean :5.495
3rd Qu.: 380.00 3rd Qu.: 340.00 3rd Qu.: 575.50 3rd Qu.:5.995
Max. :3825.00 Max. :1118.00 Max. :2504.00 Max. :6.380
NA's :5 NA's :5 NA's :5 NA's :5
REND_10 REND_11 REND_12 REND_2
Min. :1.000 Min. :1.000 Min. :2.000 Min. :3.840
1st Qu.:2.500 1st Qu.:2.500 1st Qu.:4.000 1st Qu.:6.000
Median :4.000 Median :4.000 Median :4.500 Median :6.000
Mean :4.391 Mean :4.027 Mean :5.130 Mean :6.031
3rd Qu.:6.150 3rd Qu.:5.000 3rd Qu.:6.225 3rd Qu.:6.500
Max. :8.000 Max. :8.000 Max. :8.000 Max. :7.000
NA's :5 NA's :5 NA's :6 NA's :5
REND_3 REND_4 REND_5 REND_6
Min. :3.840 Min. :0.750 Min. :4.360 Min. :2.000
1st Qu.:5.050 1st Qu.:5.000 1st Qu.:5.505 1st Qu.:4.500
Median :6.000 Median :5.400 Median :6.540 Median :5.000
Mean :5.858 Mean :5.194 Mean :6.282 Mean :5.318
3rd Qu.:6.500 3rd Qu.:6.250 3rd Qu.:7.090 3rd Qu.:6.250
Max. :7.000 Max. :6.880 Max. :7.630 Max. :8.000
NA's :5 NA's :5 NA's :5 NA's :5
REND_7 REND_8 REND_9 YEAR_1
Min. :2.000 Min. :2.000 Min. :1.00 Min. :2007
1st Qu.:4.000 1st Qu.:2.500 1st Qu.:3.50 1st Qu.:2007
Median :4.620 Median :4.600 Median :4.60 Median :2007
Mean :4.941 Mean :4.718 Mean :4.90 Mean :2007
3rd Qu.:6.000 3rd Qu.:6.150 3rd Qu.:6.65 3rd Qu.:2007
Max. :7.500 Max. :8.000 Max. :8.00 Max. :2007
NA's :5 NA's :5 NA's :5 NA's :5
YEAR_10 YEAR_11 YEAR_12 YEAR_2
Min. :2016 Min. :2017 Min. :2018 Min. :2008
1st Qu.:2016 1st Qu.:2017 1st Qu.:2018 1st Qu.:2008
Median :2016 Median :2017 Median :2018 Median :2008
Mean :2016 Mean :2017 Mean :2018 Mean :2008
3rd Qu.:2016 3rd Qu.:2017 3rd Qu.:2018 3rd Qu.:2008
Max. :2017 Max. :2018 Max. :2018 Max. :2008
NA's :5 NA's :5 NA's :6 NA's :5
YEAR_3 YEAR_4 YEAR_5 YEAR_6
Min. :2009 Min. :2010 Min. :2011 Min. :2012
1st Qu.:2009 1st Qu.:2010 1st Qu.:2011 1st Qu.:2012
Median :2009 Median :2010 Median :2011 Median :2012
Mean :2009 Mean :2010 Mean :2011 Mean :2012
3rd Qu.:2009 3rd Qu.:2010 3rd Qu.:2011 3rd Qu.:2012
Max. :2009 Max. :2010 Max. :2011 Max. :2013
NA's :5 NA's :5 NA's :5 NA's :5
YEAR_7 YEAR_8 YEAR_9 geometry
Min. :2013 Min. :2014 Min. :2015 POLYGON :16
1st Qu.:2013 1st Qu.:2014 1st Qu.:2015 epsg:4326 : 0
Median :2013 Median :2014 Median :2015 +proj=long...: 0
Mean :2013 Mean :2014 Mean :2015
3rd Qu.:2013 3rd Qu.:2014 3rd Qu.:2015
Max. :2014 Max. :2015 Max. :2016
NA's :5 NA's :5 NA's :5
head(Caq_MUN_stat)
Simple feature collection with 6 features and 46 fields
geometry type: POLYGON
dimension: XY
bbox: xmin: -76.1027 ymin: 0.9764735 xmax: -74.89527 ymax: 2.326755
geographic CRS: WGS 84
DPTO_CCDGO MPIO_CCDGO MPIO_CNMBR
1 18 18001 FLORENCIA
2 18 18029 ALBANIA
3 18 18094 BELÉN DE LOS ANDAQUÍES
4 18 18247 EL DONCELLO
5 18 18256 EL PAUJIL
6 18 18410 LA MONTAÑITA
MPIO_CRSLC MPIO_NAREA MPIO_NANO DPTO_CNMBR
1 Decreto 642 de Junio 17 de 1912 2547.638 2017 CAQUETÁ
2 Ordenanza 3 de Noviembre 12 de 1985 414.122 2017 CAQUETÁ
3 Decreto 963 de Marzo 14 de 1950 1191.619 2017 CAQUETÁ
4 Decreto 1678 de Septiembre 7 de 1967 1105.803 2017 CAQUETÁ
5 Decreto 1678 de Septiembret 7 de 1967 1234.743 2017 CAQUETÁ
6 Decreto 83 de Julio 6 de 1955 1701.052 2017 CAQUETÁ
Shape_Leng Shape_Area MUNICIPIO PROD_1 PROD_10 PROD_11
1 2.942508 0.20692777 FLORENCIA 926 680.00 712.00
2 1.112829 0.03361758 ALBANIA 450 2.28 3402.00
3 2.234657 0.09674460 BELEN DE LOS ANDAQUIES 324 1.52 1.44
4 3.154370 0.08986744 EL DONCELLO 247 1.32 2904.00
5 3.529316 0.10030928 EL PAUJIL 35 260.00 360.00
6 3.402939 0.13817351 <NA> NA NA NA
PROD_12 PROD_2 PROD_3 PROD_4 PROD_5 PROD_6 PROD_7 PROD_8 PROD_9 REND_1
1 752 900 1 1.35 1548 1.25 1.50 1118.00 552.00 5.51
2 3462 438 612 810.00 929 1.11 1.32 180.00 1.32 5.49
3 1488 315 315 864.00 991 1.20 1.50 2.76 1665.00 3.52
4 2784 240 240 780.00 895 1.20 1.05 1.28 2504.00 5.49
5 360 34 34 182.00 209 396.00 420.00 420.00 560.00 5.83
6 NA NA NA NA NA NA NA NA NA NA
REND_10 REND_11 REND_12 REND_2 REND_3 REND_4 REND_5 REND_6 REND_7 REND_8
1 4 4 4 6.00 5.00 5.4 5.89 5 4.62 4.6
2 6 6 6 6.00 6.00 6.0 6.54 6 6.00 6.0
3 4 4 4 3.84 3.84 4.0 4.36 4 4.29 8.0
4 8 8 8 6.00 6.00 6.0 6.54 8 7.50 8.0
5 4 4 4 6.50 6.50 6.5 7.09 6 6.00 6.0
6 NA NA NA NA NA NA NA NA NA NA
REND_9 YEAR_1 YEAR_10 YEAR_11 YEAR_12 YEAR_2 YEAR_3 YEAR_4 YEAR_5 YEAR_6
1 4.6 2007 2016 2017 2018 2008 2009 2010 2011 2012
2 6.0 2007 2016 2017 2018 2008 2009 2010 2011 2012
3 4.5 2007 2016 2017 2018 2008 2009 2010 2011 2012
4 8.0 2007 2016 2017 2018 2008 2009 2010 2011 2012
5 7.0 2007 2016 2017 2018 2008 2009 2010 2011 2012
6 NA NA NA NA NA NA NA NA NA NA
YEAR_7 YEAR_8 YEAR_9 geometry
1 2013 2014 2015 POLYGON ((-75.42074 2.19413...
2 2013 2014 2015 POLYGON ((-75.89506 1.36569...
3 2013 2014 2015 POLYGON ((-75.78705 1.74982...
4 2013 2014 2015 POLYGON ((-75.36167 2.32142...
5 2013 2014 2015 POLYGON ((-75.36691 2.21234...
6 NA NA NA POLYGON ((-75.40404 1.76944...
Caq_MUN_stat$p2018=as.numeric(Caq_MUN_stat$PROD_12)
summary(Caq_MUN_stat$p2018)
Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
96 488 1212 1784 2580 5594 6
library(RColorBrewer)
library(leaflet)
bins <- c(50, 100, 500, 1500, 3000, 4000, 5000, 6000)
pal <- colorBin("YlOrRd", domain = Caq_MUN_stat$PROD_12, bins = bins)
mapa <- leaflet(data = Caq_MUN_stat) %>%
addTiles() %>%
addPolygons(label = ~PROD_12,
popup = ~MPIO_CNMBR,
fillColor = ~pal(PROD_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 = ~PROD_12,
title = "Cana panelera production in Caqueta [Ton] (2018)",
opacity = 1
)
mapa