Abejas
Introducción
Objetivo
Hechos principales de las abejas
2. Habitat
7. El grupo inteligente
Consecuencias
- Una reducción de la polinización hará que los agricultores y apicultores quebren.
- La disminución de los suministros de alimentos que dependen de la polinización provocará un aumento en el costo de las frutas, verduras y nueces.
- La salud se convertirá en un gran problema porque los consumidores no podrán comprar frutas y verduras debido a los altos precios, por lo que comerán más comida chatarra.
- El ganado lechero y de carne no puede soportar la alternativa porque la comida que es muy importante también se verá afectada.
- El costo de los alimentos aumentaría a medida que los ingredientes agrícolas escaseen y, al final, las personas desarrollarán desnutrición y hambre.
Peligro de extinción
¿Se están extinguiendo realmente las abejas?
setwd("~/EAMJ1130/u1a10") #Directorio de trabajo
library(pacman) #Para importar la biblioteca "pacman"
p_load("base64enc", "htmltools", "mime", "xfun", "prettydoc","readr", "knitr","DT","dplyr", "ggplot2","plotly", "gganimate","gifski","scales")
- Importación de datos
library(prettydoc) #formato de documentos
library(readr) #leer datos
library(DT)
library(readxl)
library(ggplot2)
library(dplyr)
<- read_excel("Colmenas.xlsx")
Colmenas View(Colmenas)
class(Colmenas)
## [1] "tbl_df" "tbl" "data.frame"
head(Colmenas)
## # A tibble: 6 x 2
## yearc Colmenas
## <dbl> <dbl>
## 1 1961 1985000
## 2 1962 2000000
## 3 1963 1300000
## 4 1964 1100000
## 5 1965 920934
## 6 1966 966980
Visualizar datos
Tabla
datatable(Colmenas)
- Gráfica de barras: Asociaciones apícolas por entidad federativa
library(readr)
<- read_csv("asoentidades.csv") asoentidades
##
## -- Column specification --------------------------------------------------------
## cols(
## Entidad = col_character(),
## Numero = col_double(),
## Tipo = col_character()
## )
library(ggplot2)
<- asoentidades$Entidad
Entidad <- asoentidades$Numero
Numero <- data.frame(Entidad, Numero)
datos <- ggplot(asoentidades, aes( y=Numero, x=Entidad)) +
asoentidades geom_bar(position="dodge", stat="identity", fill= "red4")+
labs(x="Año", y="Número de Asociaciones", title="Asociaciones Apícolas por Entidad Federativa, 2017") +
theme(axis.text.x = element_text(angle=90, hjust=1),axis.text.y =element_text(size = 6))
library(plotly)
ggplotly(asoentidades)
setwd("~/EAMJ1130/u1a10") #Directorio de trabajo
library(pacman) #Para importar la biblioteca "pacman"
Gráfica de línea: Colmenas a través de los años.
library(readr)
<- read_csv("BeehivesMX.csv") asoentidades
##
## -- Column specification --------------------------------------------------------
## cols(
## yearc = col_double(),
## Colmenas = col_double()
## )
library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.0 --
## v tibble 3.0.5 v stringr 1.4.0
## v tidyr 1.1.2 v forcats 0.5.1
## v purrr 0.3.4
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x scales::col_factor() masks readr::col_factor()
## x purrr::discard() masks scales::discard()
## x plotly::filter() masks dplyr::filter(), stats::filter()
## x dplyr::lag() masks stats::lag()
ggplot(data = Colmenas) +
geom_line(mapping = aes(x = yearc, y = Colmenas)) +
xlab("Año") +
ylab("Cantidad de Colmenas")
Discusión
¿Por qué las abejas importan tanto a la humanidad?
¿Por qué las abejas están desapareciendo tan rápidamente?
Principales amenazas para las abejas
Plaguicidas
Estrés
Parásitos y enfermedades propagadas por apicultores
Pérdida de la diversidad genética de las abejas
Método “K-MEANS: Colmenas y Aerosol”
<- function(pkg){
ipak <- pkg[!(pkg %in% installed.packages()[, "Package"])]
new.pkg if (length(new.pkg))
install.packages(new.pkg, dependencies = TRUE)
sapply(pkg, require, character.only = TRUE)
}
<- c("tidyverse","cluster", "factoextra","NbClust","tidyr")
packages 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
library(readxl)
<- read_excel("colmenas.xlsx")
df df
## # A tibble: 58 x 2
## yearc Colmenas
## <dbl> <dbl>
## 1 1961 1985000
## 2 1962 2000000
## 3 1963 1300000
## 4 1964 1100000
## 5 1965 920934
## 6 1966 966980
## 7 1967 1015329
## 8 1968 1185581
## 9 1969 1580060
## 10 1970 1665700
## # ... with 48 more rows
#normalizar las puntuaciones
<- scale(df)
df head(df)
## yearc Colmenas
## [1,] -1.687701 0.1773381
## [2,] -1.628483 0.2167333
## [3,] -1.569266 -1.6217059
## [4,] -1.510048 -2.1469742
## [5,] -1.450831 -2.6172627
## [6,] -1.391613 -2.4963301
Cálculo de matriz de distancia: Relación de producción de colmenas y aerosoles.
#calcular la matriz de distacias
<- get_dist(df, method = "euclidean") #el método aceptado también puede ser: "maximum", "manhattan", "canberra", "binary", "minkowski", "pearson", "spearman" o "kendall"
m.distancia fviz_dist(m.distancia, gradient = list(low = "blue", mid = "white", high = "red"))
Estimación del número de clústers
#estimar el número de clústers
#Elbow, silhouette o gap_stat method
fviz_nbclust(df, kmeans, method = "wss")
fviz_nbclust(df, kmeans, method = "silhouette")
fviz_nbclust(df, kmeans, method = "gap_stat")
Representado por las siguiente gráfica se trabajará con 3 clusters.
#calculamos los dos clústers
<- kmeans(df, centers = 3, nstart = 25) #center es 2 porque tengo 2 clústers
k2 k2
## K-means clustering with 3 clusters of sizes 24, 25, 9
##
## Cluster means:
## yearc Colmenas
## 1 1.0066988 -0.1534148
## 2 -0.4867685 0.7675896
## 3 -1.3323954 -1.7230873
##
## Clustering vector:
## [1] 2 2 3 3 3 3 3 3 3 3 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1
## [39] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##
## Within cluster sum of squares by cluster:
## [1] 6.167165 14.632969 4.960179
## (between_SS / total_SS = 77.4 %)
##
## Available components:
##
## [1] "cluster" "centers" "totss" "withinss" "tot.withinss"
## [6] "betweenss" "size" "iter" "ifault"
str(k2)
## List of 9
## $ cluster : int [1:58] 2 2 3 3 3 3 3 3 3 3 ...
## $ centers : num [1:3, 1:2] 1.007 -0.487 -1.332 -0.153 0.768 ...
## ..- attr(*, "dimnames")=List of 2
## .. ..$ : chr [1:3] "1" "2" "3"
## .. ..$ : chr [1:2] "yearc" "Colmenas"
## $ totss : num 114
## $ withinss : num [1:3] 6.17 14.63 4.96
## $ tot.withinss: num 25.8
## $ betweenss : num 88.2
## $ size : int [1:3] 24 25 9
## $ iter : int 2
## $ ifault : int 0
## - attr(*, "class")= chr "kmeans"
Clústers en relación a las colmenas
#plotear los cluster
fviz_cluster(k2, data = df)
fviz_cluster(k2, data = df, ellipse.type = "euclid",repel = TRUE,star.plot = TRUE) #ellipse.type= "t", "norm", "euclid"
## Warning: ggrepel: 4 unlabeled data points (too many overlaps). Consider
## increasing max.overlaps
fviz_cluster(k2, data = df, ellipse.type = "norm")
fviz_cluster(k2, data = df, ellipse.type = "norm",palette = "Set2", ggtheme = theme_minimal())
Dendrograma que representa los años y el número de colmenas.
<- hcut(df, k = 3, stand = TRUE)
res4 fviz_dend(res4, rect = TRUE, cex = 0.5,
k_colors = c("red","purple","green","black"))
## Warning in get_col(col, k): Length of color vector was longer than the number of
## clusters - first k elements are used
library(readxl)
<- read_excel("colmenas.xlsx")
df %>%
df mutate(Cluster = k2$cluster) %>%
group_by(Cluster) %>%
summarise_all("mean")
## # A tibble: 3 x 3
## Cluster yearc Colmenas
## * <int> <dbl> <dbl>
## 1 1 2006. 1859063.
## 2 2 1981. 2209743.
## 3 3 1967 1261398.
library(readxl)
<- read_excel("colmenas.xlsx")
df $clus<-as.factor(k2$cluster) df
<- read_excel("colmenas.xlsx")
df <- scale(df)
df <- as.data.frame(df)
df$clus<-as.factor(k2$cluster)
df df
## yearc Colmenas clus
## 1 -1.68770089 0.17733815 2
## 2 -1.62848332 0.21673327 2
## 3 -1.56926574 -1.62170585 3
## 4 -1.51004817 -2.14697417 3
## 5 -1.45083059 -2.61726266 3
## 6 -1.39161302 -2.49633013 3
## 7 -1.33239544 -2.36934914 3
## 8 -1.27317787 -1.92220923 3
## 9 -1.21396029 -0.88617262 3
## 10 -1.15474272 -0.66125273 3
## 11 -1.09552514 -0.78652922 3
## 12 -1.03630757 -0.25338188 2
## 13 -0.97708999 -0.10893309 2
## 14 -0.91787242 0.20622790 2
## 15 -0.85865484 0.31390791 2
## 16 -0.79943727 0.37171894 2
## 17 -0.74021969 0.42699818 2
## 18 -0.68100212 0.59046168 2
## 19 -0.62178454 0.88592511 2
## 20 -0.56256696 1.21631888 2
## 21 -0.50334939 1.61447227 2
## 22 -0.44413181 1.61447227 2
## 23 -0.38491424 2.03022215 2
## 24 -0.32569666 1.51257022 2
## 25 -0.26647909 1.22656162 2
## 26 -0.20726151 1.32696403 2
## 27 -0.14804394 0.53031846 2
## 28 -0.08882636 0.76652900 2
## 29 -0.02960879 1.08591577 2
## 30 0.02960879 0.51742049 2
## 31 0.08882636 0.44867863 2
## 32 0.14804394 0.49937490 2
## 33 0.20726151 0.98817647 2
## 34 0.26647909 0.98474909 2
## 35 0.32569666 0.35792802 1
## 36 0.38491424 0.00646311 1
## 37 0.44413181 -0.52928431 1
## 38 0.50334939 -0.33188060 1
## 39 0.56256696 0.07116304 1
## 40 0.62178454 -0.10963957 1
## 41 0.68100212 -0.14472487 1
## 42 0.74021969 -0.35093996 1
## 43 0.79943727 -0.49964342 1
## 44 0.85865484 -0.45277898 1
## 45 0.91787242 -0.48683213 1
## 46 0.97708999 -0.44764449 1
## 47 1.03630757 -0.46338415 1
## 48 1.09552514 -0.31515868 1
## 49 1.15474272 -0.37483179 1
## 50 1.21396029 -0.19788728 1
## 51 1.27317787 -0.18334522 1
## 52 1.33239544 -0.05052588 1
## 53 1.39161302 0.04104415 1
## 54 1.45083059 0.16725825 1
## 55 1.51004817 0.26382620 1
## 56 1.56926574 -0.15266168 1
## 57 1.62848332 -0.16721949 1
## 58 1.68770089 0.66874505 1
$clus <- factor(df$clus)
df<- gather(df, caracteristica, valor, Colmenas:yearc, factor_key = TRUE)
data_long data_long
## clus caracteristica valor
## 1 2 Colmenas 0.17733815
## 2 2 Colmenas 0.21673327
## 3 3 Colmenas -1.62170585
## 4 3 Colmenas -2.14697417
## 5 3 Colmenas -2.61726266
## 6 3 Colmenas -2.49633013
## 7 3 Colmenas -2.36934914
## 8 3 Colmenas -1.92220923
## 9 3 Colmenas -0.88617262
## 10 3 Colmenas -0.66125273
## 11 3 Colmenas -0.78652922
## 12 2 Colmenas -0.25338188
## 13 2 Colmenas -0.10893309
## 14 2 Colmenas 0.20622790
## 15 2 Colmenas 0.31390791
## 16 2 Colmenas 0.37171894
## 17 2 Colmenas 0.42699818
## 18 2 Colmenas 0.59046168
## 19 2 Colmenas 0.88592511
## 20 2 Colmenas 1.21631888
## 21 2 Colmenas 1.61447227
## 22 2 Colmenas 1.61447227
## 23 2 Colmenas 2.03022215
## 24 2 Colmenas 1.51257022
## 25 2 Colmenas 1.22656162
## 26 2 Colmenas 1.32696403
## 27 2 Colmenas 0.53031846
## 28 2 Colmenas 0.76652900
## 29 2 Colmenas 1.08591577
## 30 2 Colmenas 0.51742049
## 31 2 Colmenas 0.44867863
## 32 2 Colmenas 0.49937490
## 33 2 Colmenas 0.98817647
## 34 2 Colmenas 0.98474909
## 35 1 Colmenas 0.35792802
## 36 1 Colmenas 0.00646311
## 37 1 Colmenas -0.52928431
## 38 1 Colmenas -0.33188060
## 39 1 Colmenas 0.07116304
## 40 1 Colmenas -0.10963957
## 41 1 Colmenas -0.14472487
## 42 1 Colmenas -0.35093996
## 43 1 Colmenas -0.49964342
## 44 1 Colmenas -0.45277898
## 45 1 Colmenas -0.48683213
## 46 1 Colmenas -0.44764449
## 47 1 Colmenas -0.46338415
## 48 1 Colmenas -0.31515868
## 49 1 Colmenas -0.37483179
## 50 1 Colmenas -0.19788728
## 51 1 Colmenas -0.18334522
## 52 1 Colmenas -0.05052588
## 53 1 Colmenas 0.04104415
## 54 1 Colmenas 0.16725825
## 55 1 Colmenas 0.26382620
## 56 1 Colmenas -0.15266168
## 57 1 Colmenas -0.16721949
## 58 1 Colmenas 0.66874505
## 59 2 yearc -1.68770089
## 60 2 yearc -1.62848332
## 61 3 yearc -1.56926574
## 62 3 yearc -1.51004817
## 63 3 yearc -1.45083059
## 64 3 yearc -1.39161302
## 65 3 yearc -1.33239544
## 66 3 yearc -1.27317787
## 67 3 yearc -1.21396029
## 68 3 yearc -1.15474272
## 69 3 yearc -1.09552514
## 70 2 yearc -1.03630757
## 71 2 yearc -0.97708999
## 72 2 yearc -0.91787242
## 73 2 yearc -0.85865484
## 74 2 yearc -0.79943727
## 75 2 yearc -0.74021969
## 76 2 yearc -0.68100212
## 77 2 yearc -0.62178454
## 78 2 yearc -0.56256696
## 79 2 yearc -0.50334939
## 80 2 yearc -0.44413181
## 81 2 yearc -0.38491424
## 82 2 yearc -0.32569666
## 83 2 yearc -0.26647909
## 84 2 yearc -0.20726151
## 85 2 yearc -0.14804394
## 86 2 yearc -0.08882636
## 87 2 yearc -0.02960879
## 88 2 yearc 0.02960879
## 89 2 yearc 0.08882636
## 90 2 yearc 0.14804394
## 91 2 yearc 0.20726151
## 92 2 yearc 0.26647909
## 93 1 yearc 0.32569666
## 94 1 yearc 0.38491424
## 95 1 yearc 0.44413181
## 96 1 yearc 0.50334939
## 97 1 yearc 0.56256696
## 98 1 yearc 0.62178454
## 99 1 yearc 0.68100212
## 100 1 yearc 0.74021969
## 101 1 yearc 0.79943727
## 102 1 yearc 0.85865484
## 103 1 yearc 0.91787242
## 104 1 yearc 0.97708999
## 105 1 yearc 1.03630757
## 106 1 yearc 1.09552514
## 107 1 yearc 1.15474272
## 108 1 yearc 1.21396029
## 109 1 yearc 1.27317787
## 110 1 yearc 1.33239544
## 111 1 yearc 1.39161302
## 112 1 yearc 1.45083059
## 113 1 yearc 1.51004817
## 114 1 yearc 1.56926574
## 115 1 yearc 1.62848332
## 116 1 yearc 1.68770089
Relación de clústers de colmenas y Aerosol.
<- ggplot(data_long, aes(as.factor(x = caracteristica), y = valor,group=clus, colour = clus)) +
x stat_summary(fun = mean, geom="pointrange", size = 1)+
stat_summary(geom="line")+
geom_point(aes(shape=clus))
ggplotly(x)
## No summary function supplied, defaulting to `mean_se()`
Interpretación generalA partir de la relación de clústers, se observar un aumento de colmenas cuando los aerosoles utilizados son pocos, sin embargo, cuando aumenta la cantidad de aerosoles, el número de colmenas disminuye, por ello, se ve que los aerosoles es un riesgo para las abejas y a su vez para la producción de las colmenas.
Como observamos que hay una variacion muy significativa en los datos, los separamos en 3 grupos con características semejantes. Con la finalidad de estudiar por grupos y determinar lo que suvede en cada caso. Y se puede confirmar que el so del aerosol impacta directamente en las abejas.
Conclusión
En conclusión, las abejas son animales fundamentales para los ecosistemas y la vida de los seres, incluyendo los humanos, no solo por el hecho de producir miel, sino porque tienen una gran misión que es polinizar. Como consecuencia, con la desaparición de las abejas rápidamente, estamos perdiendo drásticamente la producción de pantas, lo cual sería un daño total para la biodiversidad y además hubiera un gran desequilibrio en los ecosistemas. Esto quiere decir que si las abejas llegasen a desaparecer, un tercio de los alimentos que consumimos dejarían de brotar de la tierra y de los árboles, y también el de algunas especies que los humanos consumimos. Pero lamentablemente las abejas están desapareciendo por contaminación del aire, cambio climático, urbanización y pesticidas.
En resumen, k-means puede ser usado para encontrar grupos ocultos en los datos, confirmar alguna asunción sobre los datos y descubrir relaciones entre los datos, que de manera manual no podríamos haber obtenido.
En éste caso se observó un descenso de producción de colmenas de abejas a causa de los aerosoles, siendo que la abeja es un insecto que anda libre y le afecta éste tipo de productos.