Este cuaderno se usará como herramienta para el análisis y comparación de los datos que corresponden a los cultivos de mayor importancia en el departamento de Norte de Santander. Los datos estudiados provienen de la unidad de planificación rural agropecuaria, las cuales contienen las evaluaciones agropecuarias municipales del departamento en mención en el año 2020.
library(readxl)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5 v purrr 0.3.4
## v tibble 3.1.6 v stringr 1.4.0
## v tidyr 1.2.0 v forcats 0.5.1
## v readr 2.1.2
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
Como los datos descargados estaban en formato de excel, antes de subirlos a RStudios es importante descaragar y activar las librerias “readxl” y “tidyverse”. Con estas esposible visualizar el documento y las hojas que contiene.
(archivos = list.files("C:/Users/andre/OneDrive/Escritorio/Documentos U/12 matricula/Geomatica/Datos", pattern='xlsx'))
## [1] "20210624_BaseSIPRA2020.xlsx"
(hojas<-readxl::excel_sheets("20210624_BaseSIPRA2020.xlsx"))
## [1] "Agrícola_SIPRA_AGRONET" "InventarioBovino"
## [3] "InventarioPorcino" "InvBufalosCaprinoOvinoEquino"
## [5] "InvAves"
eva2020 = readxl::read_excel("20210624_BaseSIPRA2020.xlsx", sheet = "Agrícola_SIPRA_AGRONET")
eva2020
Se seleccionan los datos correspondientes al departamento con código “54” Norte de Santander.
ntestder2020 = dplyr::filter(eva2020, Departamento == "Norte de Santander")
ntestder2020
Teniendo los datos filtrados del departamento, se procede a eliminar la información que no es de interés para el estudio, como el código y nombre del departamento o el estado físico de la producción o el nombre científico.
ntestder2020.tmp <- ntestder2020 %>% select('Código del Municipio':'Ciclo del cultivo')
ntestder2020.tmp
Para cambiar los nombres de las columnas de la tabla (intentar dejarlos sin tildes o espacios).
ntestder2020.tmp %>% rename(Cod_Mun = 'Código del Municipio',
Grupo = 'Grupo cultivo según especie',
Subgrupo = 'Subgrupo cultivo según especie',
AreaSiembra = 'Area Sembrada (ha)',
AreaCosecha = 'Area Cosechada (ha)',
Produccion = 'Producción (t)',
Rendimiento = 'Rendimiento (t/ha)', Ciclo='Ciclo del cultivo') -> nortestder2020
nortestder2020
Como se puede apreciar, la tabla presenta datos con valores numéricos como lo es la producción o el rendimiento que están definidos como caracter “chr”.
nortestder2020 %>% mutate(AreaSiembra = as.numeric(AreaSiembra),
AreaCosecha = as.numeric(AreaCosecha),
Produccion = as.numeric(Produccion),
Rendimiento = as.numeric(Rendimiento)) -> nortestder2020
nortestder2020
Ya con los datos de interés filtrados por departamento, es posible agrupar los datos en función de alguna característica en particular y resumirla en una sola fila.
nortestder2020 %>%
filter(Produccion > 0) %>%
group_by(Cultivo) %>%
summarize(total_produccion = sum(Produccion)) %>%
arrange(desc(total_produccion))
nortestder2020 %>%
filter(AreaSiembra > 0) %>%
group_by(Cultivo) %>%
summarize(total_área_sembrada = sum(AreaSiembra)) %>%
arrange(desc(total_área_sembrada))
nortestder2020 %>%
filter(Rendimiento > 0) %>%
group_by(Cultivo) %>%
summarize(total_rendimiento = sum(Rendimiento)) %>%
arrange(desc(total_rendimiento))
Se ordena de mayor a menor la producción total de cada cultivo y el municipio que más aporta.
nortestder2020 %>%
group_by(Cultivo, Municipio) %>%
summarize(max_prod = max(Produccion, na.rm = TRUE)) %>%
slice(which.max(max_prod)) %>%
arrange(desc(max_prod))
## `summarise()` has grouped output by 'Cultivo'. You can override using the
## `.groups` argument.
Para identificar de cada grupo presente en el departamento, cual municipio es el que tiene la mayor producción
nortestder2020 %>%
group_by(Grupo,Municipio) %>%
summarize(max_prod = max(Produccion, na.rm = TRUE)) %>%
slice(which.max(max_prod)) %>%
arrange(desc(max_prod))
## `summarise()` has grouped output by 'Grupo'. You can override using the
## `.groups` argument.
Para saber la producción que tiene cada municipio de un grupo de cultivo en particular
nortestder2020 %>%
group_by(Cod_Mun, Municipio, Grupo) %>%
filter(Grupo=='Leguminosas Y Oleaginosas') %>%
summarize(max_prod = max(Produccion, na.rm = TRUE)) %>%
arrange(desc(max_prod)) -> LeguminosasYOleaginosas2020
## `summarise()` has grouped output by 'Cod_Mun', 'Municipio'. You can override
## using the `.groups` argument.
LeguminosasYOleaginosas2020
nortestder2020 %>%
group_by(Cod_Mun, Municipio, Grupo) %>%
filter(Grupo=='Cereales') %>%
summarize(max_prod = max(Produccion, na.rm = TRUE)) %>%
arrange(desc(max_prod)) -> cereales2020
## `summarise()` has grouped output by 'Cod_Mun', 'Municipio'. You can override
## using the `.groups` argument.
cereales2020
write_csv(LeguminosasYOleaginosas2020, "./nortestder_LegumiYOleagi_2020.csv")
sessionInfo()
## R version 4.1.3 (2022-03-10)
## Platform: x86_64-w64-mingw32/x64 (64-bit)
## Running under: Windows 10 x64 (build 22000)
##
## Matrix products: default
##
## locale:
## [1] LC_COLLATE=Spanish_Colombia.1252 LC_CTYPE=Spanish_Colombia.1252
## [3] LC_MONETARY=Spanish_Colombia.1252 LC_NUMERIC=C
## [5] LC_TIME=Spanish_Colombia.1252
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] forcats_0.5.1 stringr_1.4.0 purrr_0.3.4 readr_2.1.2
## [5] tidyr_1.2.0 tibble_3.1.6 ggplot2_3.3.5 tidyverse_1.3.1
## [9] dplyr_1.0.8 readxl_1.4.0
##
## loaded via a namespace (and not attached):
## [1] tidyselect_1.1.2 xfun_0.30 bslib_0.3.1 haven_2.4.3
## [5] colorspace_2.0-3 vctrs_0.4.0 generics_0.1.2 htmltools_0.5.2
## [9] yaml_2.3.5 utf8_1.2.2 rlang_1.0.2 jquerylib_0.1.4
## [13] pillar_1.7.0 withr_2.5.0 glue_1.6.2 DBI_1.1.2
## [17] bit64_4.0.5 dbplyr_2.1.1 modelr_0.1.8 lifecycle_1.0.1
## [21] munsell_0.5.0 gtable_0.3.0 cellranger_1.1.0 rvest_1.0.2
## [25] evaluate_0.15 knitr_1.38 tzdb_0.3.0 fastmap_1.1.0
## [29] parallel_4.1.3 fansi_1.0.3 broom_0.7.12 backports_1.4.1
## [33] scales_1.1.1 vroom_1.5.7 jsonlite_1.8.0 bit_4.0.4
## [37] fs_1.5.2 hms_1.1.1 digest_0.6.29 stringi_1.7.6
## [41] grid_4.1.3 cli_3.2.0 tools_4.1.3 magrittr_2.0.3
## [45] sass_0.4.1 crayon_1.5.1 pkgconfig_2.0.3 ellipsis_0.3.2
## [49] xml2_1.3.3 reprex_2.0.1 lubridate_1.8.0 assertthat_0.2.1
## [53] rmarkdown_2.13 httr_1.4.2 rstudioapi_0.13 R6_2.5.1
## [57] compiler_4.1.3