Este es el tercer cuaderno R Markdown para el curso Geomatica Basica 2022. Ilustra cómo obtener estadísticas multianuales para un grupo determinado de cultivos en el departamento de Santander, en este caso seran de frutales, hortalizas, oleaginosas, tuberculos y platano y otros cultivos permanentes, usaremos como principal fuente 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.
library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5 v purrr 0.3.4
## v tibble 3.1.6 v dplyr 1.0.8
## v tidyr 1.2.0 v stringr 1.4.0
## v readr 2.1.2 v forcats 0.5.1
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
library(dplyr)
library(readr)
library(ggplot2)
list.files("C:/Users/DELL/Documents/GB2022/Datos", pattern=c('csv'))
## [1] "co.csv"
## [2] "Evaluaciones_Agropecuarias_Municipales_EVA.csv"
## [3] "stder_frutales_2020.csv"
## [4] "stder_oleag_2020.csv"
(eva = read_csv("C:/Users/DELL/Documents/GB2022/Datos/Evaluaciones_Agropecuarias_Municipales_EVA.csv", col_names = TRUE))
## Rows: 14672 Columns: 17
## -- Column specification --------------------------------------------------------
## Delimiter: ","
## chr (10): DEPARTAMENTO, MUNICIPIO, GRUPO
## DE CULTIVO, SUBGRUPO
## DE CULTIVO, ...
## dbl (7): CÓD.
## DEP., CÓD. MUN., AÑO, Área Sembrada
## (ha), Área Cosechada
## (ha...
##
## i Use `spec()` to retrieve the full column specification for this data.
## i Specify the column types or set `show_col_types = FALSE` to quiet this message.
## # A tibble: 14,672 x 17
## `CÓD. \nDEP.` DEPARTAMENTO `CÓD. MUN.` MUNICIPIO `GRUPO \nDE CU~`
## <dbl> <chr> <dbl> <chr> <chr>
## 1 68 SANTANDER 68377 LA BELLEZA HORTALIZAS
## 2 68 SANTANDER 68377 LA BELLEZA HORTALIZAS
## 3 68 SANTANDER 68895 ZAPATOCA HORTALIZAS
## 4 68 SANTANDER 68895 ZAPATOCA HORTALIZAS
## 5 68 SANTANDER 68235 EL CARMEN DE CHUCURI FRUTALES
## 6 68 SANTANDER 68689 SAN VICENTE DE CHUCU~ FRUTALES
## 7 68 SANTANDER 68385 LANDAZURI FRUTALES
## 8 68 SANTANDER 68615 RIONEGRO FRUTALES
## 9 68 SANTANDER 68575 PUERTO WILCHES FRUTALES
## 10 68 SANTANDER 68190 CIMITARRA FRUTALES
## # ... with 14,662 more rows, and 12 more variables:
## # `SUBGRUPO \nDE CULTIVO` <chr>, CULTIVO <chr>,
## # `DESAGREGACIÓN REGIONAL Y/O SISTEMA PRODUCTIVO` <chr>, AÑO <dbl>,
## # PERIODO <chr>, `Área Sembrada\n(ha)` <dbl>, `Área Cosechada\n(ha)` <dbl>,
## # `Producción\n(t)` <dbl>, `Rendimiento\n(t/ha)` <dbl>,
## # `ESTADO FISICO PRODUCCION` <chr>, `NOMBRE \nCIENTIFICO` <chr>,
## # `CICLO DE CULTIVO` <chr>
names(eva)
## [1] "CÓD. \nDEP."
## [2] "DEPARTAMENTO"
## [3] "CÓD. MUN."
## [4] "MUNICIPIO"
## [5] "GRUPO \nDE CULTIVO"
## [6] "SUBGRUPO \nDE CULTIVO"
## [7] "CULTIVO"
## [8] "DESAGREGACIÓN REGIONAL Y/O SISTEMA PRODUCTIVO"
## [9] "AÑO"
## [10] "PERIODO"
## [11] "Área Sembrada\n(ha)"
## [12] "Área Cosechada\n(ha)"
## [13] "Producción\n(t)"
## [14] "Rendimiento\n(t/ha)"
## [15] "ESTADO FISICO PRODUCCION"
## [16] "NOMBRE \nCIENTIFICO"
## [17] "CICLO DE CULTIVO"
eva %>% dplyr::select('CÓD. MUN.':'ESTADO FISICO PRODUCCION') -> eva.tmp
eva.tmp
## # A tibble: 14,672 x 13
## `CÓD. MUN.` MUNICIPIO `GRUPO \nDE CUL~` `SUBGRUPO \nDE~` CULTIVO
## <dbl> <chr> <chr> <chr> <chr>
## 1 68377 LA BELLEZA HORTALIZAS ACELGA ACELGA
## 2 68377 LA BELLEZA HORTALIZAS ACELGA ACELGA
## 3 68895 ZAPATOCA HORTALIZAS ACELGA ACELGA
## 4 68895 ZAPATOCA HORTALIZAS ACELGA ACELGA
## 5 68235 EL CARMEN DE CHUCURI FRUTALES AGUACATE AGUACA~
## 6 68689 SAN VICENTE DE CHUCURI FRUTALES AGUACATE AGUACA~
## 7 68385 LANDAZURI FRUTALES AGUACATE AGUACA~
## 8 68615 RIONEGRO FRUTALES AGUACATE AGUACA~
## 9 68575 PUERTO WILCHES FRUTALES AGUACATE AGUACA~
## 10 68190 CIMITARRA FRUTALES AGUACATE AGUACA~
## # ... with 14,662 more rows, and 8 more variables:
## # `DESAGREGACIÓN REGIONAL Y/O SISTEMA PRODUCTIVO` <chr>, AÑO <dbl>,
## # PERIODO <chr>, `Área Sembrada\n(ha)` <dbl>, `Área Cosechada\n(ha)` <dbl>,
## # `Producción\n(t)` <dbl>, `Rendimiento\n(t/ha)` <dbl>,
## # `ESTADO FISICO PRODUCCION` <chr>
eva.tmp %>% dplyr::rename('Cod_Mun' = 'CÓD. MUN.',
'Grupo' = 'GRUPO \nDE CULTIVO',
'Subgrupo' = 'SUBGRUPO \nDE CULTIVO',
'Year' = 'AÑO',
'AreaSembrada' = 'Área Sembrada\n(ha)',
'AreaCosechada' = 'Área Sembrada\n(ha)',
'Produccion' = 'Producción\n(t)', 'Rendimiento' = 'Rendimiento\n(t/ha)',
'Sistema' = 'DESAGREGACIÓN REGIONAL Y/O SISTEMA PRODUCTIVO',
'Estado' = 'ESTADO FISICO PRODUCCION') -> new_eva
new_eva
## # A tibble: 14,672 x 13
## Cod_Mun MUNICIPIO Grupo Subgrupo CULTIVO Sistema Year PERIODO AreaCosechada
## <dbl> <chr> <chr> <chr> <chr> <chr> <dbl> <chr> <dbl>
## 1 68377 LA BELLEZA HORT~ ACELGA ACELGA ACELGA 2006 2006B 1
## 2 68377 LA BELLEZA HORT~ ACELGA ACELGA ACELGA 2007 2007A 1
## 3 68895 ZAPATOCA HORT~ ACELGA ACELGA ACELGA 2010 2010A 13
## 4 68895 ZAPATOCA HORT~ ACELGA ACELGA ACELGA 2010 2010B 12
## 5 68235 EL CARMEN~ FRUT~ AGUACATE AGUACA~ AGUACA~ 2007 2007 1093
## 6 68689 SAN VICEN~ FRUT~ AGUACATE AGUACA~ AGUACA~ 2007 2007 468
## 7 68385 LANDAZURI FRUT~ AGUACATE AGUACA~ AGUACA~ 2007 2007 350
## 8 68615 RIONEGRO FRUT~ AGUACATE AGUACA~ AGUACA~ 2007 2007 300
## 9 68575 PUERTO WI~ FRUT~ AGUACATE AGUACA~ AGUACA~ 2007 2007 65
## 10 68190 CIMITARRA FRUT~ AGUACATE AGUACA~ AGUACA~ 2007 2007 45
## # ... with 14,662 more rows, and 4 more variables:
## # `Área Cosechada\n(ha)` <dbl>, Produccion <dbl>, Rendimiento <dbl>,
## # Estado <chr>
new_eva %>%
filter(Produccion > 0) %>%
group_by(Grupo) %>%
summarize(total_produccion = sum(Produccion)) %>%
arrange(desc(total_produccion))
## # A tibble: 12 x 2
## Grupo total_produccion
## <chr> <dbl>
## 1 FRUTALES 7122171
## 2 TUBERCULOS Y PLATANOS 3895882
## 3 OTROS PERMANENTES 3321095
## 4 OLEAGINOSAS 2283963
## 5 HORTALIZAS 1451975
## 6 CEREALES 450534
## 7 LEGUMINOSAS 200064
## 8 OTROS TRANSITORIOS 56212
## 9 FORESTALES 47617
## 10 FIBRAS 27122
## 11 FLORES Y FOLLAJES 1934
## 12 PLANTAS AROMATICAS, CONDIMENTARIAS Y MEDICINALES 413
new_eva %>%
group_by(Grupo) %>%
summarize(total_produccion = sum(Produccion)) -> PT
PT
## # A tibble: 12 x 2
## Grupo total_produccion
## <chr> <dbl>
## 1 CEREALES 450534
## 2 FIBRAS 27122
## 3 FLORES Y FOLLAJES 1934
## 4 FORESTALES 47617
## 5 FRUTALES 7122171
## 6 HORTALIZAS 1451975
## 7 LEGUMINOSAS 200064
## 8 OLEAGINOSAS 2283963
## 9 OTROS PERMANENTES 3321095
## 10 OTROS TRANSITORIOS 56212
## 11 PLANTAS AROMATICAS, CONDIMENTARIAS Y MEDICINALES 413
## 12 TUBERCULOS Y PLATANOS 3895882
PT %>%
filter(total_produccion > 1000000) -> main.groups
main.groups
## # A tibble: 5 x 2
## Grupo total_produccion
## <chr> <dbl>
## 1 FRUTALES 7122171
## 2 HORTALIZAS 1451975
## 3 OLEAGINOSAS 2283963
## 4 OTROS PERMANENTES 3321095
## 5 TUBERCULOS Y PLATANOS 3895882
(value = sum(main.groups$total_produccion))
## [1] 18075086
main.groups$percent = main.groups$total_produccion/value
bp<- ggplot(main.groups, aes(x="", y=percent, fill=Grupo))+
geom_bar(width = 1, stat = "identity")
pie <- bp + coord_polar("y", start=0)
pie
new_eva %>%
group_by(Grupo, MUNICIPIO) %>%
summarize(total_prod = sum(Produccion, na.rm = TRUE)) %>%
slice(which.max(total_prod)) %>%
arrange(desc(total_prod))
## `summarise()` has grouped output by 'Grupo'. You can override using the
## `.groups` argument.
## # A tibble: 12 x 3
## # Groups: Grupo [12]
## Grupo MUNICIPIO total_prod
## <chr> <chr> <dbl>
## 1 FRUTALES LEBRIJA 2222953
## 2 OLEAGINOSAS PUERTO WILCHES 1243594
## 3 HORTALIZAS TONA 427579
## 4 TUBERCULOS Y PLATANOS CERRITO 406083
## 5 OTROS PERMANENTES SUAITA 261688
## 6 CEREALES PUERTO WILCHES 76975
## 7 LEGUMINOSAS VILLANUEVA 15547
## 8 OTROS TRANSITORIOS VILLANUEVA 11966
## 9 FORESTALES CIMITARRA 10661
## 10 FIBRAS MOGOTES 7276
## 11 FLORES Y FOLLAJES SUAITA 1905
## 12 PLANTAS AROMATICAS, CONDIMENTARIAS Y MEDICINALES LOS SANTOS 227
new_eva %>%
group_by(Grupo, MUNICIPIO) %>%
summarize(total_prod = sum(Produccion, na.rm = TRUE)) %>%
slice(which.max(total_prod)) -> leaders
## `summarise()` has grouped output by 'Grupo'. You can override using the
## `.groups` argument.
leaders
## # A tibble: 12 x 3
## # Groups: Grupo [12]
## Grupo MUNICIPIO total_prod
## <chr> <chr> <dbl>
## 1 CEREALES PUERTO WILCHES 76975
## 2 FIBRAS MOGOTES 7276
## 3 FLORES Y FOLLAJES SUAITA 1905
## 4 FORESTALES CIMITARRA 10661
## 5 FRUTALES LEBRIJA 2222953
## 6 HORTALIZAS TONA 427579
## 7 LEGUMINOSAS VILLANUEVA 15547
## 8 OLEAGINOSAS PUERTO WILCHES 1243594
## 9 OTROS PERMANENTES SUAITA 261688
## 10 OTROS TRANSITORIOS VILLANUEVA 11966
## 11 PLANTAS AROMATICAS, CONDIMENTARIAS Y MEDICINALES LOS SANTOS 227
## 12 TUBERCULOS Y PLATANOS CERRITO 406083
leaders %>%
filter(total_prod > 50000) -> main.leaders
p<-ggplot(data=main.leaders, aes(x=MUNICIPIO, y=total_prod)) +
geom_bar(stat="identity")
p
new_eva %>%
filter(MUNICIPIO=="LEBRIJA" & CULTIVO=="PIÑA") %>%
group_by(Year, CULTIVO) %>%
select(MUNICIPIO, CULTIVO, Produccion, Year) -> lebrija_pineapple
lebrija_pineapple
## # A tibble: 12 x 4
## # Groups: Year, CULTIVO [12]
## MUNICIPIO CULTIVO Produccion Year
## <chr> <chr> <dbl> <dbl>
## 1 LEBRIJA PIÑA 133650 2007
## 2 LEBRIJA PIÑA 105000 2008
## 3 LEBRIJA PIÑA 93000 2009
## 4 LEBRIJA PIÑA 93000 2010
## 5 LEBRIJA PIÑA 96420 2011
## 6 LEBRIJA PIÑA 108000 2012
## 7 LEBRIJA PIÑA 108000 2013
## 8 LEBRIJA PIÑA 125000 2014
## 9 LEBRIJA PIÑA 167500 2015
## 10 LEBRIJA PIÑA 192500 2016
## 11 LEBRIJA PIÑA 233500 2017
## 12 LEBRIJA PIÑA 233500 2018
g <- ggplot(aes(x=Year, y=Produccion/1000), data = lebrija_pineapple) + geom_bar(stat='identity') + labs(y='Produccion de Piña [Ton x 1000]')
g + ggtitle("Evolution of Pineapple Crop Production in Lebrija from 2007 to 2018") + labs(caption= "Based on EVA data (Minagricultura, 2020)")