library(cluster)
library(ggplot2)
library(data.table)
library(factoextra)
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
spotify <- data <- read.csv("C:\\Users\\eleyva1\\Downloads\\Most Streamed Spotify Songs 2024.csv")
df <- data.frame(x=c(2,2,8,5,7,6,1,4), y=c(10,5,4,8,5,4,2,9))
grupos <- 3
segmentos <- kmeans(df,4)
segmentos
## K-means clustering with 4 clusters of sizes 1, 3, 3, 1
##
## Cluster means:
## x y
## 1 1.000000 2.000000
## 2 7.000000 4.333333
## 3 3.666667 9.000000
## 4 2.000000 5.000000
##
## Clustering vector:
## [1] 3 4 2 3 2 2 1 3
##
## Within cluster sum of squares by cluster:
## [1] 0.000000 2.666667 6.666667 0.000000
## (between_SS / total_SS = 90.7 %)
##
## Available components:
##
## [1] "cluster" "centers" "totss" "withinss" "tot.withinss"
## [6] "betweenss" "size" "iter" "ifault"
asignacion <- cbind(df, cluster = segmentos$cluster)
asignacion
## x y cluster
## 1 2 10 3
## 2 2 5 4
## 3 8 4 2
## 4 5 8 3
## 5 7 5 2
## 6 6 4 2
## 7 1 2 1
## 8 4 9 3
fviz_cluster(segmentos, data=df)

set.seed(123)
optimizacion <- clusGap(df, FUN=kmeans, nstart=1, K.max =7)
plot(optimizacion, xlab="Número de clusters k")

Conclusión
La segmentación o clusters es un algoritmo útil para las empresas
que desean clasificar sus clientes y dirigir campañas de marketing más
enfocadas y especializadas.
LS0tDQp0aXRsZTogIk1vZHVsbyAyX0UyIg0KYXV0aG9yOiAiRWR1YXJkbyBMZXl2YSINCmRhdGU6ICIyMDI0LTA4LTEzIg0Kb3V0cHV0OiANCiAgaHRtbF9kb2N1bWVudDoNCiAgICB0b2M6IFRSVUUNCiAgICB0b2NfZmxvYXQ6IFRSVUUNCiAgICBjb2RlX2Rvd25sb2FkOiBUUlVFDQogICAgdGhlbWU6IGNvc21vDQplZGl0b3Jfb3B0aW9uczogDQogIGNodW5rX291dHB1dF90eXBlOiBjb25zb2xlDQotLS0NCg0KYGBge3IsIHdhcm5pbmc9RkFMU0V9DQpsaWJyYXJ5KGNsdXN0ZXIpDQpsaWJyYXJ5KGdncGxvdDIpDQpsaWJyYXJ5KGRhdGEudGFibGUpDQpsaWJyYXJ5KGZhY3RvZXh0cmEpDQoNCmBgYA0KDQpgYGB7cn0NCnNwb3RpZnkgPC0gZGF0YSA8LSByZWFkLmNzdigiQzpcXFVzZXJzXFxlbGV5dmExXFxEb3dubG9hZHNcXE1vc3QgU3RyZWFtZWQgU3BvdGlmeSBTb25ncyAyMDI0LmNzdiIpDQpgYGANCg0KDQpgYGB7cn0NCmRmIDwtIGRhdGEuZnJhbWUoeD1jKDIsMiw4LDUsNyw2LDEsNCksIHk9YygxMCw1LDQsOCw1LDQsMiw5KSkNCmdydXBvcyA8LSAzIA0KYGBgDQoNCg0KYGBge3J9DQpzZWdtZW50b3MgPC0ga21lYW5zKGRmLDQpDQpzZWdtZW50b3MNCmBgYA0KDQpgYGB7cn0NCmFzaWduYWNpb24gPC0gY2JpbmQoZGYsIGNsdXN0ZXIgPSBzZWdtZW50b3MkY2x1c3RlcikNCmFzaWduYWNpb24NCmBgYA0KDQpgYGB7cn0NCmZ2aXpfY2x1c3RlcihzZWdtZW50b3MsIGRhdGE9ZGYpDQpgYGANCg0KYGBge3J9DQpzZXQuc2VlZCgxMjMpDQpvcHRpbWl6YWNpb24gPC0gY2x1c0dhcChkZiwgRlVOPWttZWFucywgbnN0YXJ0PTEsIEsubWF4ID03KQ0KcGxvdChvcHRpbWl6YWNpb24sIHhsYWI9Ik7Dum1lcm8gZGUgY2x1c3RlcnMgayIpDQpgYGANCg0KIyMjIyBDb25jbHVzacOzbiANCiMjIyMjIExhIHNlZ21lbnRhY2nDs24gbyBjbHVzdGVycyBlcyB1biBhbGdvcml0bW8gw7p0aWwgcGFyYSBsYXMgZW1wcmVzYXMgcXVlIGRlc2VhbiBjbGFzaWZpY2FyIHN1cyBjbGllbnRlcyB5IGRpcmlnaXIgY2FtcGHDsWFzIGRlIG1hcmtldGluZyBtw6FzIGVuZm9jYWRhcyB5IGVzcGVjaWFsaXphZGFzLg0K