Paquetes a utilizar
library(pacman)
p_load(rmdformats,readr,readxl,ggplot2,plotly,DT,xfun,gridExtra,leaflet, Gally, psych, corrplot, cluster)
## Installing package into 'C:/Users/David/Documents/R/win-library/4.1'
## (as 'lib' is unspecified)
## Warning: package 'Gally' is not available for this version of R
##
## A version of this package for your version of R might be available elsewhere,
## see the ideas at
## https://cran.r-project.org/doc/manuals/r-patched/R-admin.html#Installing-packages
## Warning: unable to access index for repository http://www.stats.ox.ac.uk/pub/RWin/bin/windows/contrib/4.1:
## no fue posible abrir la URL 'http://www.stats.ox.ac.uk/pub/RWin/bin/windows/contrib/4.1/PACKAGES'
## Warning: 'BiocManager' not available. Could not check Bioconductor.
##
## Please use `install.packages('BiocManager')` and then retry.
## Warning in p_install(package, character.only = TRUE, ...):
## Warning in library(package, lib.loc = lib.loc, character.only = TRUE,
## logical.return = TRUE, : there is no package called 'Gally'
## Warning in p_load(rmdformats, readr, readxl, ggplot2, plotly, DT, xfun, : Failed to install/load:
## Gally
Datos utilizados
Introduccion a analisis de clustering con K-Means.
Introduccion
La apicultura en nuestro país tiene una gran importancia socioeconómica y ecológica. Por ello es importante proteger a las abejas, su población y diversidad.
En nuestro país, la apicultura es una de las actividades de mayor relevancia por el impacto que tiene en el desarrollo sostenible. Por ello, se realizan acciones en pro de concientizar a la población sobre la importante contribución de las abejas en la producción de alimentos y el equilibrio de ecosistemas, así como promover su cuidado y conservación.
Las abejas meliponas son la especie nativa de México, éstas son de vital importancia debido a su función como polinizadoras de plantas de interés como el café, el chile, variedades de granos, semillas y frutos. Asimismo, la fabricación de miel es muy importante, existen más de 43 mil apicultores a nivel nacional, quienes en los últimos 10 años su trabajo ha colocado a México como el quinto lugar como exportador de miel y el noveno lugar como productor de miel.
Importando datos
Miel <- read.csv("Miel_16.csv")
View(Miel)
Tabla de datos utilizados
datatable(Miel)
View(Miel)
Grafica de datos
Para visualizar un grafico con los datos analiozados haremos un diagrama de dispersion o scatterplot.
ggplot(Miel, aes(Year, ProduccionMiel, color = Estado) ) +
geom_line()+
geom_point(size=4)
En el grafico anterior podemos observar que los datos correspondientes a cada estado varian demasiado y se puede observar que la produccion de miel para Jalisco, Quintana roo y Yucatan es muy diferente.
Primer modelo de clusterizacion con K medias.
set.seed(101)
MielCluster <- kmeans(Miel[,2], center= 3, nstart = 20)
MielCluster
## K-means clustering with 3 clusters of sizes 14, 17, 20
##
## Cluster means:
## [,1]
## 1 9485.879
## 2 2698.033
## 3 5860.918
##
## Clustering vector:
## [1] 1 1 3 1 1 1 1 1 1 1 1 1 1 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2 2 2
## [39] 2 2 2 2 2 2 2 2 2 2 2 2 2
##
## Within cluster sum of squares by cluster:
## [1] 19545446 4938183 10719279
## (between_SS / total_SS = 91.0 %)
##
## Available components:
##
## [1] "cluster" "centers" "totss" "withinss" "tot.withinss"
## [6] "betweenss" "size" "iter" "ifault"
Comparacion de cluster con datos originales.
table(MielCluster$cluster, Miel$Estado)
##
## JALISCO QUINTANA_ROO YUCATAN
## 1 0 0 14
## 2 0 17 0
## 3 17 0 3
Aquí vemos como el análisis clúster sabe diferenciar entre las producciones de Jalisco y Quintana Roo, sin embargo, hace ruido cuando sus producciones bajan ya que es Yucatán el mayor productor de miel.
Grafica de clusters.
library(cluster)
clusplot(Miel, MielCluster$cluster, color=T, shade=T, lines=0 )
Aqui podemos observar que la produccion de miel en Yucatan y Jalisco es muy similar, mientras que la produccion de miel de Quinntana Roo tiene una mayor produccion y esto se puede observar facilmente.
No siempre tendremos los datos etiquetados. Si quisiéramos saber el número exacto de centros, deberíamos haber construido el método del codo o Elbow Method a fin de determinar dicho valor.
tot.withinss <- vector(mode="character", length=16)
for (i in 1:16){
MielCluster <- kmeans(Miel[,2], center=i, nstart=20)
tot.withinss[i] <- MielCluster$tot.withinss}
Resultado
plot(1:16, tot.withinss, type = "b", pch=19)