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