U1A10

EQUIPO 6: Angélica Payán Serna, Karen Gutierrez Velásquez y Andrea Higuera Chávez

23/02/2021

CUARTO CASO DE ESTUDIO: ANÁLISIS DE APICULTURA.

Las abejas son muy importantes en el mundo, pues son las encargadas de polinizar vegetales en parcelas cercanas a sus colmenas, lo que contribuye a mejorar la biodiversidad, para que después, los polinizadores como pájaros, mariposas y murciélagos transporten el polen de flor en flor para fertilizar a las plantas. Este proceso permite la germinación de semillas y el crecimiento de frutos, es decir, sin abejas no habría alimentos.

Acerca de este documento

La cantidad de abejas y otros polinizadores se está reduciendo en muchas partes del mundo debido, en buena parte, a las prácticas agrícolas intensivas, el monocultivo, el uso excesivo de productos químicos agrícolas y a unas temperaturas más altas asociadas al cambio climático, que afectan no solo a los rendimientos de los cultivos sino también la nutrición. Si esta tendencia continúa, cada vez con más frecuencias los cultivos nutritivos como frutas, nueces y muchas verduras serán sustituidos por cultivos básicos como el arroz, el maíz y las patatas, lo que podría derivar en una dieta desequilibrada.

TEMA A ANALIZAR: ¿Cómo afecta el uso de plaguicidas en las abejas?

La desaparición de las abejas es un peligro del que llevan advirtiendo desde hace muchos años las organizaciones dedicadas al medio ambiente. Estas advertencias señalan directamente a los pesticidas usados para eliminar las plagas en los cultivos. Este documento tiene el objetivo de demostrar como la población de abejas en México se ve afectada por el uso de plaguicidas.

Descarga de este código

xfun::embed_file("U1A9.Rmd")

Download U1A9.Rmd

Importación de datos

setwd("~/estadistica")
library(readxl)
library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.0 --
## v ggplot2 3.3.3     v purrr   0.3.4
## v tibble  3.0.5     v dplyr   1.0.4
## v tidyr   1.1.2     v stringr 1.4.0
## v readr   1.4.0     v forcats 0.5.1
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
library(prettydoc)
library(readr)
library(DT)
library(pacman)
p_load("base64enc","htmltools","mime","xfun","prettydoc","readr","knitr","DT","dplyr","ggplot2","plotly","gganimate","gifski","scales")
pesticidas <- read.csv("~/estadistica/pesticidas.csv")
View(pesticidas)

Tabla de datos

datatable(pesticidas)

Gráfico de las toneladas de pesticida utilizados (2000-2018)

año <- pesticidas$Año
toneladas <- pesticidas$Toneladas

plot(año,toneladas)

Histograma de frecuencias

hist(pesticidas$Toneladas)

colmenas <- read.csv("~/estadistica/colmenas.csv")
View(colmenas)
datatable(colmenas)
año <- colmenas$Fecha
colmenas1 <- colmenas$Colmenas

plot(año,colmenas1)

Relación de las toneladas de pesticida con las colmenas (2000-2018)

datos <- data.frame(colmenas, pesticidas)
datos
##    Fecha Colmenas Toneladas  Año Toneladas.1
## 1   2000  1875731     26625 2000       26625
## 2   2001  1862372     23372 2001       23372
## 3   2002  1783854     11536 2002       11536
## 4   2003  1727234     16285 2003       16285
## 5   2004  1745078     18508 2004       18508
## 6   2005  1732112     39172 2005       39172
## 7   2006  1747033     38403 2006       38403
## 8   2007  1741040     50894 2007       50894
## 9   2008  1797478     50155 2008       50155
## 10  2009  1774757     50328 2009       50328
## 11  2010  1842130     52305 2010       52305
## 12  2011  1847667     53220 2011       53220
## 13  2012  1898239     49214 2012       49214
## 14  2013  1933105     47551 2013       47551
## 15  2014  1981162     43029 2014       43029
## 16  2015  2017931     48293 2015       48293
## 17  2016  1859350     47421 2016       47421
## 18  2017  1853807     50802 2017       50802
## 19  2018  2172107     53144 2018       53144
ton <- datos$Toneladas
colm <- datos$Colmenas

colmenas2 <- ggplot(data = datos) + 
  geom_line(aes(Fecha, colm, colour="Colmenas")) + 
  geom_line(aes(Fecha, ton, colour="Toneladas de pesticida")) + 
  xlab("Fecha") +
  ylab("Valor") +
  labs(colour="Datos") +
  ggtitle("Número de colmenas vs Toneladas de pesticida (2000-2018)") +
  scale_y_continuous(labels = comma)
colmenas2

ggplotly(colmenas2)

K means

Funciones agregadas de cluster

ipak <- function(pkg){
new.pkg <- pkg[!(pkg %in% installed.packages()[, "Package"])]
  if (length(new.pkg)) 
    install.packages(new.pkg, dependencies = TRUE)
  sapply(pkg, require, character.only = TRUE)
}

packages <- c("tidyverse","cluster","factoextra","NbClust","tidyr")
ipak(packages)
## Loading required package: cluster
## Loading required package: factoextra
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
## Loading required package: NbClust
##  tidyverse    cluster factoextra    NbClust      tidyr 
##       TRUE       TRUE       TRUE       TRUE       TRUE

Normalizar las puntuaciones

colmenas <- scale(colmenas)
head(colmenas)
##           Fecha    Colmenas   Toneladas
## [1,] -1.5993420  0.20596921 -0.99694239
## [2,] -1.4216373  0.08893523 -1.23000673
## [3,] -1.2439326 -0.59893613 -2.07800846
## [4,] -1.0662280 -1.09496604 -1.73776173
## [5,] -0.8885233 -0.93864040 -1.57849274
## [6,] -0.7108187 -1.05223143 -0.09800038

Calcular la matriz de distancias

m.distancia <- get_dist(colmenas, method = "euclidean") #el método aceptado también puede ser: "maximum", "manhattan", "canberra", "binary", "minkowski", "pearson", "spearman" o "kendall"
fviz_dist(m.distancia, gradient = list(low = "purple", mid = "white", high = "pink"))

Estimar el número de clústers

#Elbow, silhouette o gap_stat  method
fviz_nbclust(colmenas, kmeans, method = "wss")

fviz_nbclust(colmenas, kmeans, method = "silhouette")

fviz_nbclust(colmenas, kmeans, method = "gap_stat")

resnumclust<-NbClust(colmenas, distance = "euclidean", min.nc=2, max.nc=10, method = "kmeans", index = "alllong")
## Warning in pf(beale, pp, df2): NaNs produced

## Warning in pf(beale, pp, df2): NaNs produced

## Warning in pf(beale, pp, df2): NaNs produced

## *** : The Hubert index is a graphical method of determining the number of clusters.
##                 In the plot of Hubert index, we seek a significant knee that corresponds to a 
##                 significant increase of the value of the measure i.e the significant peak in Hubert
##                 index second differences plot. 
## 

## *** : The D index is a graphical method of determining the number of clusters. 
##                 In the plot of D index, we seek a significant knee (the significant peak in Dindex
##                 second differences plot) that corresponds to a significant increase of the value of
##                 the measure. 
##  
## ******************************************************************* 
## * Among all indices:                                                
## * 8 proposed 2 as the best number of clusters 
## * 5 proposed 3 as the best number of clusters 
## * 2 proposed 4 as the best number of clusters 
## * 1 proposed 5 as the best number of clusters 
## * 2 proposed 8 as the best number of clusters 
## * 3 proposed 9 as the best number of clusters 
## * 6 proposed 10 as the best number of clusters 
## 
##                    ***** Conclusion *****                            
##  
## * According to the majority rule, the best number of clusters is  2 
##  
##  
## *******************************************************************
fviz_nbclust(resnumclust)
## Among all indices: 
## ===================
## * 2 proposed  0 as the best number of clusters
## * 1 proposed  1 as the best number of clusters
## * 8 proposed  2 as the best number of clusters
## * 5 proposed  3 as the best number of clusters
## * 2 proposed  4 as the best number of clusters
## * 1 proposed  5 as the best number of clusters
## * 2 proposed  8 as the best number of clusters
## * 3 proposed  9 as the best number of clusters
## * 6 proposed  10 as the best number of clusters
## 
## Conclusion
## =========================
## * According to the majority rule, the best number of clusters is  2 .

Cálculo de 2 clusters

k2 <- kmeans(colmenas, centers = 2, nstart = 25)
k2
## K-means clustering with 2 clusters of sizes 12, 7
## 
## Cluster means:
##        Fecha   Colmenas  Toneladas
## 1  0.6219663  0.3592819  0.6560257
## 2 -1.0662280 -0.6159118 -1.1246155
## 
## Clustering vector:
##  [1] 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1
## 
## Within cluster sum of squares by cluster:
## [1] 16.987492  6.190317
##  (between_SS / total_SS =  57.1 %)
## 
## Available components:
## 
## [1] "cluster"      "centers"      "totss"        "withinss"     "tot.withinss"
## [6] "betweenss"    "size"         "iter"         "ifault"

Plotear los clusters

fviz_cluster(k2, data = colmenas)

fviz_cluster(k2, data = colmenas, ellipse.type = "euclid",repel = TRUE,star.plot = TRUE) #ellipse.type= "t", "norm", "euclid"

fviz_cluster(k2, data = colmenas, ellipse.type = "norm")

fviz_cluster(k2, data = colmenas, ellipse.type = "norm",palette = "Set2", ggtheme = theme_minimal())

Dendrograma de cluster

res2 <- hcut(colmenas, k = 2, stand = TRUE)
fviz_dend(res2, rect = TRUE, cex = 0.5,
          k_colors = c("red","#2E9FDF"))

Conclusión

  • Se tiene una idea general de los factores que afectan y de su interacción con las abejas. Se entiende que son factores que pueden ser solucionados y/o manejados por el ser humano cambiando sus hábitos y mejorando sus actividades diarias.
  • Las medidas a tomar podrían ser el probar nuevas alternativas de pesticidas, existen en la naturaleza pesticidas derivados de las plantas y pueden ser usados sin que exista una afectación en los demás organismos e incluso los mismos insectos, es decir, producir repelentes naturales que ahuyente a los insectos e incluso hongos sin dañarlos.