library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ ggplot2 3.5.1 ✔ tibble 3.2.1
## ✔ lubridate 1.9.4 ✔ tidyr 1.3.1
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(dplyr)
library(readr)
library(ggplot2)
library(scales)
##
## Adjuntando el paquete: 'scales'
##
## The following object is masked from 'package:purrr':
##
## discard
##
## The following object is masked from 'package:readr':
##
## col_factor
knitr::opts_chunk$set(echo = TRUE, warning = FALSE, message = FALSE)
list.files("./Parcial Geomatica", pattern = 'csv')
## character(0)
eva <- read_csv("C:/Users/Danna Abril/Documents/Parcial Geomatica/Evaluaciones_Agropecuarias_Municipales_EVA.csv", col_names = TRUE, show_col_types = FALSE)
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"
colnames(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"
head(eva)
eva %>%
dplyr::select('CÓD. MUN.':'ESTADO FISICO PRODUCCION') -> eva_tmp
eva_tmp %>%
dplyr::rename(
'Cod_Mun' = 'CÓD. MUN.',
'Municipio' = 'MUNICIPIO',
'Grupo' = 'GRUPO \nDE CULTIVO',
'Subgrupo' = 'SUBGRUPO \nDE CULTIVO',
'Cultivo' = 'CULTIVO',
'Sistema' = 'DESAGREGACIÓN REGIONAL Y/O SISTEMA PRODUCTIVO',
'Year' = 'AÑO',
'AreaSembrada' = 'Área Sembrada\n(ha)',
'AreaCosechada' = 'Área Cosechada\n(ha)',
'Produccion' = 'Producción\n(t)',
'Rendimiento' = 'Rendimiento\n(t/ha)',
'Estado' = 'ESTADO FISICO PRODUCCION'
) -> new_eva
new_eva %>%
mutate(
AreaSembrada = round(AreaSembrada),
AreaCosechada = round(AreaCosechada),
Produccion = round(Produccion),
Rendimiento = round(Rendimiento)
) -> new_eva
head(new_eva)
str(new_eva)
## tibble [268 × 13] (S3: tbl_df/tbl/data.frame)
## $ Cod_Mun : num [1:268] 99001 99001 99001 99001 99001 ...
## $ Municipio : chr [1:268] "Puerto Carreno" "Puerto Carreno" "Puerto Carreno" "Puerto Carreno" ...
## $ Grupo : chr [1:268] "Hortalizas" "Hortalizas" "Hortalizas" "Hortalizas" ...
## $ Subgrupo : chr [1:268] "Hortalizas de fruto" "Hortalizas de fruto" "Hortalizas de fruto" "Hortalizas de fruto" ...
## $ Cultivo : chr [1:268] "Ahuyama" "Ahuyama" "Ahuyama" "Ahuyama" ...
## $ Sistema : logi [1:268] NA NA NA NA NA NA ...
## $ Year : num [1:268] 2020 2021 2022 2022 2023 ...
## $ PERIODO : chr [1:268] "2020B" "2021B" "2022A" "2022B" ...
## $ AreaSembrada : num [1:268] 8 8 0 13 0 60 7 2 0 1 ...
## $ AreaCosechada: num [1:268] 8 8 7 0 10 0 7 2 2 0 ...
## $ Produccion : num [1:268] 56 33 49 0 50 0 7 5 5 0 ...
## $ Rendimiento : num [1:268] 7 4 7 0 5 0 1 2 2 0 ...
## $ Estado : chr [1:268] "En fresco" "En fresco" "En fresco" "En fresco" ...
new_eva %>%
group_by(Grupo) %>%
summarize(total_produccion = sum(Produccion, na.rm = TRUE)) %>%
arrange(desc(total_produccion)) -> PT
PT %>%
filter(total_produccion > 10000) -> main_groups
value <- sum(main_groups$total_produccion)
main_groups$percent <- main_groups$total_produccion / value
ggplot(main_groups, aes(x = "", y = percent, fill = Grupo)) +
geom_bar(width = 1, stat = "identity") +
coord_polar("y", start = 0) +
labs(title = "Distribución de la producción por grupo de cultivos en Vichada",
caption = "Datos EVA (2019-2023)")

new_eva %>%
group_by(Grupo, Municipio) %>%
summarize(total_prod = sum(Produccion, na.rm = TRUE)) %>%
slice(which.max(total_prod)) %>%
arrange(desc(total_prod)) -> leaders
## `summarise()` has grouped output by 'Grupo'. You can override using the
## `.groups` argument.
leaders %>%
filter(total_prod > 5000) -> main_leaders
ggplot(main_leaders, aes(x = Municipio, y = total_prod)) +
geom_bar(stat = "identity") +
labs(
title = "Municipios líderes en producción por grupo de cultivos en Vichada",
y = "Producción total (t)",
x = "Municipio"
) +
scale_y_continuous(labels = label_number(accuracy = 1)) +
theme_minimal() +
theme(
axis.text.x = element_text(angle = 45, hjust = 1)
)

new_eva %>%
filter(Municipio == "Puerto Carreno" & Cultivo == "Maranon") %>%
group_by(Year, Cultivo) %>%
summarize(total_produccion = sum(Produccion, na.rm = TRUE)) -> maranon_dynamics
## `summarise()` has grouped output by 'Year'. You can override using the
## `.groups` argument.
ggplot(maranon_dynamics, aes(x = Year, y = total_produccion)) +
geom_bar(stat = "identity", fill = "steelblue") +
labs(title = "Evolución de la producción de marañon en Puerto carreño (2019-2023)",
y = "Producción (t)",
x = "Año") +
theme_minimal()

grupo_area <- new_eva %>%
group_by(Grupo) %>%
summarize(total_area = sum(AreaCosechada, na.rm = TRUE)) %>%
arrange(desc(total_area))
ggplot(grupo_area, aes(x = "", y = "", fill = Grupo)) +
geom_bar(width = 1, stat = "identity") +
coord_polar("y", start = 0) +
labs(title = "Distribución de area cosechada por grupo de cultivos en Vichada",
caption = "Datos EVA (2019-2023)")

municipios_area <- new_eva %>%
group_by(Municipio, Grupo) %>%
summarize(total_area = sum(AreaCosechada, na.rm = TRUE)) %>%
arrange(desc(total_area)) %>%
slice_max(total_area, n = 10)
## `summarise()` has grouped output by 'Municipio'. You can override using the
## `.groups` argument.
ggplot(municipios_area, aes(x = Municipio, y = total_area)) +
geom_bar(stat = "identity") +
labs(title = "Municipios líderes en área cosechada por grupo de cultivos en Vichada",
y = "Área Cosechada Total (ha)",
x = "Municipio") +
theme_minimal()

new_eva %>%
filter(Municipio == "Puerto Carreno" & Cultivo == "Maranon") %>%
group_by(Year, Cultivo) %>%
summarize(total_area = sum(AreaCosechada, na.rm = TRUE)) -> maranon_area_dynamics
## `summarise()` has grouped output by 'Year'. You can override using the
## `.groups` argument.
ggplot(maranon_area_dynamics, aes(x = Year, y = total_area)) +
geom_bar(stat = "identity", fill = "darkgreen") +
labs(title = "Evolución del Área Cosechada de marañon en Puerto carreño (2019-2023)",
y = "Área Cosechada (ha)",
x = "Año") +
theme_minimal()

# Lizarazo, I., 2022. Understanding dynamic productivity of crops.
# Available at https://rpubs.com/ials2un/production_dyn_v1