Variables
merged2 <- merged %>%
remove_rownames %>%
column_to_rownames(var="Nom_Barri") %>%
select("n.tot","pc.esp","pc.ue27-esp","pc.20.34","2019-2014","n.esp.V1419",
"hotel2019","rest1614",
"RFD.2017",
"tot_ann","pmedio","pmedio.V1519","pm_ent.V1519","pm_priv.V1519","pm_sha.V1519",
"alq.num","alq.pm","alq.pm.V1519","alq.num.V1519",
"tot.comp","tot.eur","perc.nou.comp","perc.usat.comp","tot.comp.V1519",
"nou.eur.V1519","usat.eur.V1519",
)
Standardizar los datos
df <- scale(merged2)
Optimal K Elbow - elbow (1 option)
set.seed(123)
wss <- function(k) {
kmeans(df, k, nstart = 100 )$tot.withinss
}
k.values <- 1:15
wss_values <- map_dbl(k.values, wss)
plot(k.values, wss_values,
type="b", pch = 19, frame = FALSE,
xlab="Number of clusters K",
ylab="Total within-clusters sum of squares")
##Optimal K Elbow - elbow (2 option)
set.seed(123)
fviz_nbclust(df, kmeans, method = "wss")
##Optimal K Average Silhouette Method 1
avg_sil <- function(k) {
km.res <- kmeans(df, centers = k, nstart = 100)
ss <- silhouette(km.res$cluster, dist(df))
mean(ss[, 3])
}
k.values <- 2:15
avg_sil_values <- map_dbl(k.values, avg_sil)
plot(k.values, avg_sil_values,
type = "b", pch = 19, frame = FALSE,
xlab = "Number of clusters K",
ylab = "Average Silhouettes")
##Optimal K Average Silhouette Method 2
fviz_nbclust(df, kmeans, method = "silhouette")
##Optimal K Gap Statistic Method
set.seed(123)
gap_stat <- clusGap(df, FUN = kmeans, nstart = 100, K.max = 10, B = 50)
print(gap_stat, method = "firstmax")
## Clustering Gap statistic ["clusGap"] from call:
## clusGap(x = df, FUNcluster = kmeans, K.max = 10, B = 50, nstart = 100)
## B=50 simulated reference sets, k = 1..10; spaceH0="scaledPCA"
## --> Number of clusters (method 'firstmax'): 3
## logW E.logW gap SE.sim
## [1,] 4.799516 5.377648 0.5781321 0.01553343
## [2,] 4.702560 5.287572 0.5850116 0.01478960
## [3,] 4.629394 5.221896 0.5925020 0.01496298
## [4,] 4.576541 5.167302 0.5907610 0.01487832
## [5,] 4.515804 5.120405 0.6046007 0.01527151
## [6,] 4.472655 5.079162 0.6065074 0.01502576
## [7,] 4.428176 5.041513 0.6133365 0.01510685
## [8,] 4.385164 5.005672 0.6205079 0.01498525
## [9,] 4.332065 4.972449 0.6403835 0.01507640
## [10,] 4.295710 4.940555 0.6448444 0.01505994
##Optimal K Gap Statistic Method 2
fviz_gap_stat(gap_stat)
#Examinar a los numeros de cluster
k3 <- kmeans(df, centers = 3, nstart = 100)
k4 <- kmeans(df, centers = 4, nstart = 100)
k5 <- kmeans(df, centers = 5, nstart = 100)
k6 <- kmeans(df, centers = 6, nstart = 100)
k7 <- kmeans(df, centers = 7, nstart = 100)
k8 <- kmeans(df, centers = 8, nstart = 100)
k9 <- kmeans(df, centers = 9, nstart = 100)
# plots to compare
p3 <- fviz_cluster(k3, geom = "point", data = df) + ggtitle("k = 3")
p4 <- fviz_cluster(k4, geom = "point", data = df) + ggtitle("k = 4")
p5 <- fviz_cluster(k5, geom = "point", data = df) + ggtitle("k = 5")
p6 <- fviz_cluster(k6, geom = "point", data = df) + ggtitle("k = 6")
p7 <- fviz_cluster(k7, geom = "point", data = df) + ggtitle("k = 7")
p8 <- fviz_cluster(k8, geom = "point", data = df) + ggtitle("k = 8")
p9 <- fviz_cluster(k9, geom = "point", data = df) + ggtitle("k = 9")
grid.arrange(p3, nrow = 1)
grid.arrange(p4, p5, nrow = 1)
grid.arrange(p6, p7, nrow = 1)
grid.arrange(p8, p9, nrow = 1)
K means
for (i in 3:5)
{
finalK <- kmeans(df, centers = i, nstart = 100)
#print
print(finalK)
}
## K-means clustering with 3 clusters of sizes 10, 44, 19
##
## Cluster means:
## n.tot pc.esp pc.ue27-esp pc.20.34 2019-2014 n.esp.V1419
## 1 1.1443463 -1.6218644 1.7807746 1.8276853 -0.60006099 -0.92959911
## 2 -0.3606759 0.2581145 -0.4527070 -0.3141030 -0.06290163 0.18823733
## 3 0.2329619 0.2558741 0.1111244 -0.2345432 0.46148850 0.05334466
## hotel2019 rest1614 RFD.2017 tot_ann pmedio pmedio.V1519
## 1 1.854728915 -1.07008267 0.3073949 2.1521483 0.3464401 0.2701555
## 2 -0.419858421 0.08128903 -0.5113979 -0.4726930 -0.4399574 -0.3663106
## 3 -0.003869402 0.37495311 1.0225030 -0.0380521 0.8365118 0.7061112
## pm_ent.V1519 pm_priv.V1519 pm_sha.V1519 alq.num alq.pm alq.pm.V1519
## 1 -0.07327615 0.3015745 0.8554918 1.5947211 0.4820933 0.59225885
## 2 -0.27855262 -0.2184996 -0.1110385 -0.5150721 -0.4606163 -0.16866402
## 3 0.68363563 0.3472756 -0.1931170 0.3534716 0.8129570 0.07887517
## alq.num.V1519 tot.comp tot.eur perc.nou.comp perc.usat.comp
## 1 -0.1881778 0.708259661 0.1966058 -0.04435820 0.05118777
## 2 -0.2877812 -0.161635230 -0.4686007 0.08524481 -0.07115863
## 3 0.7654815 0.001544922 0.9817038 -0.17406261 0.13784746
## tot.comp.V1519 nou.eur.V1519 usat.eur.V1519
## 1 -0.5920940 0.44377847 0.4586545
## 2 0.3871692 -0.08199945 0.0407654
## 3 -0.5849740 -0.04367416 -0.3358012
##
## Clustering vector:
## el Raval
## 1
## el Barri Gòtic
## 1
## la Barceloneta
## 1
## Sant Pere, Santa Caterina i la Ribera
## 1
## el Fort Pienc
## 3
## la Sagrada Família
## 1
## la Dreta de l'Eixample
## 1
## l'Antiga Esquerra de l'Eixample
## 1
## la Nova Esquerra de l'Eixample
## 1
## Sant Antoni
## 3
## el Poble Sec
## 1
## la Marina del Prat Vermell
## 3
## la Marina de Port
## 2
## la Font de la Guatlla
## 2
## Hostafrancs
## 2
## la Bordeta
## 2
## Sants - Badal
## 2
## Sants
## 3
## les Corts
## 3
## la Maternitat i Sant Ramon
## 3
## Pedralbes
## 3
## Vallvidrera, el Tibidabo i les Planes
## 3
## Sarrià
## 3
## les Tres Torres
## 3
## Sant Gervasi - la Bonanova
## 3
## Sant Gervasi - Galvany
## 3
## el Putxet i el Farró
## 3
## Vallcarca i els Penitents
## 2
## el Coll
## 2
## la Salut
## 2
## la Vila de Gràcia
## 1
## el Camp d'en Grassot i Gràcia Nova
## 3
## el Baix Guinardó
## 2
## Can Baró
## 2
## el Guinardó
## 2
## la Font d'en Fargues
## 2
## el Carmel
## 2
## la Teixonera
## 2
## Sant Genís dels Agudells
## 2
## Montbau
## 2
## la Vall d'Hebron
## 2
## la Clota
## 2
## Horta
## 2
## Vilapicina i la Torre Llobeta
## 2
## Porta
## 2
## el Turó de la Peira
## 2
## Can Peguera
## 2
## la Guineueta
## 2
## Canyelles
## 2
## les Roquetes
## 2
## Verdun
## 2
## la Prosperitat
## 2
## la Trinitat Nova
## 2
## Torre Baró
## 2
## Ciutat Meridiana
## 2
## Vallbona
## 2
## la Trinitat Vella
## 2
## Baró de Viver
## 2
## el Bon Pastor
## 2
## Sant Andreu
## 2
## la Sagrera
## 2
## el Congrés i els Indians
## 2
## Navas
## 2
## el Camp de l'Arpa del Clot
## 3
## el Clot
## 2
## el Parc i la Llacuna del Poblenou
## 3
## la Vila Olímpica del Poblenou
## 3
## el Poblenou
## 3
## Diagonal Mar i el Front Marítim del Poblenou
## 3
## el Besòs i el Maresme
## 2
## Provençals del Poblenou
## 2
## Sant Martí de Provençals
## 2
## la Verneda i la Pau
## 2
##
## Within cluster sum of squares by cluster:
## [1] 310.4641 648.0586 411.9378
## (between_SS / total_SS = 26.8 %)
##
## Available components:
##
## [1] "cluster" "centers" "totss" "withinss" "tot.withinss"
## [6] "betweenss" "size" "iter" "ifault"
## K-means clustering with 4 clusters of sizes 44, 4, 9, 16
##
## Cluster means:
## n.tot pc.esp pc.ue27-esp pc.20.34 2019-2014 n.esp.V1419
## 1 -0.4257558 0.22100192 -0.42191889 -0.2851300 -0.0656623 0.1916192
## 2 0.2607690 -3.20111357 3.47560459 3.2600005 -1.6521479 -1.3746830
## 3 -0.5321520 0.49235901 0.02530075 -0.6092631 0.4216698 0.1805514
## 4 1.4049717 -0.08442882 0.27714414 0.3118180 0.3564191 -0.2848421
## hotel2019 rest1614 RFD.2017 tot_ann pmedio pmedio.V1519
## 1 -0.4416941 0.09084615 -0.4993184 -0.4630146 -0.4359390 -0.3706800
## 2 0.9698396 -1.95698293 -0.1076155 2.1538382 -0.1232834 -0.4163330
## 3 -0.3514202 0.51087652 1.5930751 -0.4407504 1.2858855 0.7758301
## 4 1.1698729 -0.04794922 0.5039249 0.9827528 0.5063425 0.6870490
## pm_ent.V1519 pm_priv.V1519 pm_sha.V1519 alq.num alq.pm alq.pm.V1519
## 1 -0.2972237 -0.2146408 -0.1110385 -0.5337772 -0.4507963 -0.1752140
## 2 -0.5152180 0.4062477 -0.1086660 0.6463580 0.2873644 0.7247174
## 3 1.0523764 0.5584773 -0.2091932 -0.3339070 1.1637978 -0.1290058
## 4 0.3542079 0.1745569 0.4501936 1.4941205 0.5132125 0.3732249
## alq.num.V1519 tot.comp tot.eur perc.nou.comp perc.usat.comp
## 1 -0.24403548 -0.2450993 -0.47031137 0.06486397 -0.051125445
## 2 -0.52915045 0.6792846 -0.09378548 0.14813806 -0.116504870
## 3 1.29786098 -0.6923511 1.55943762 -0.41188001 0.310135394
## 4 0.07333838 0.8936495 0.43961896 0.01627208 -0.004729966
## tot.comp.V1519 nou.eur.V1519 usat.eur.V1519
## 1 0.3705474 -0.1056122 0.005837991
## 2 -0.6374699 1.1337574 -0.011071497
## 3 -0.7799422 -0.6934580 -0.472018705
## 4 -0.4209204 0.3970645 0.252223919
##
## Clustering vector:
## el Raval
## 2
## el Barri Gòtic
## 2
## la Barceloneta
## 2
## Sant Pere, Santa Caterina i la Ribera
## 2
## el Fort Pienc
## 4
## la Sagrada Família
## 4
## la Dreta de l'Eixample
## 4
## l'Antiga Esquerra de l'Eixample
## 4
## la Nova Esquerra de l'Eixample
## 4
## Sant Antoni
## 4
## el Poble Sec
## 4
## la Marina del Prat Vermell
## 3
## la Marina de Port
## 1
## la Font de la Guatlla
## 1
## Hostafrancs
## 1
## la Bordeta
## 1
## Sants - Badal
## 1
## Sants
## 4
## les Corts
## 4
## la Maternitat i Sant Ramon
## 3
## Pedralbes
## 3
## Vallvidrera, el Tibidabo i les Planes
## 3
## Sarrià
## 3
## les Tres Torres
## 3
## Sant Gervasi - la Bonanova
## 3
## Sant Gervasi - Galvany
## 4
## el Putxet i el Farró
## 4
## Vallcarca i els Penitents
## 1
## el Coll
## 1
## la Salut
## 1
## la Vila de Gràcia
## 4
## el Camp d'en Grassot i Gràcia Nova
## 4
## el Baix Guinardó
## 1
## Can Baró
## 1
## el Guinardó
## 1
## la Font d'en Fargues
## 1
## el Carmel
## 1
## la Teixonera
## 1
## Sant Genís dels Agudells
## 1
## Montbau
## 1
## la Vall d'Hebron
## 1
## la Clota
## 1
## Horta
## 1
## Vilapicina i la Torre Llobeta
## 1
## Porta
## 1
## el Turó de la Peira
## 1
## Can Peguera
## 1
## la Guineueta
## 1
## Canyelles
## 1
## les Roquetes
## 1
## Verdun
## 1
## la Prosperitat
## 1
## la Trinitat Nova
## 1
## Torre Baró
## 1
## Ciutat Meridiana
## 1
## Vallbona
## 1
## la Trinitat Vella
## 1
## Baró de Viver
## 1
## el Bon Pastor
## 1
## Sant Andreu
## 4
## la Sagrera
## 1
## el Congrés i els Indians
## 1
## Navas
## 1
## el Camp de l'Arpa del Clot
## 4
## el Clot
## 1
## el Parc i la Llacuna del Poblenou
## 1
## la Vila Olímpica del Poblenou
## 3
## el Poblenou
## 4
## Diagonal Mar i el Front Marítim del Poblenou
## 3
## el Besòs i el Maresme
## 1
## Provençals del Poblenou
## 1
## Sant Martí de Provençals
## 1
## la Verneda i la Pau
## 1
##
## Within cluster sum of squares by cluster:
## [1] 634.65416 72.59433 224.21041 315.99622
## (between_SS / total_SS = 33.4 %)
##
## Available components:
##
## [1] "cluster" "centers" "totss" "withinss" "tot.withinss"
## [6] "betweenss" "size" "iter" "ifault"
## K-means clustering with 5 clusters of sizes 9, 16, 32, 12, 4
##
## Cluster means:
## n.tot pc.esp pc.ue27-esp pc.20.34 2019-2014 n.esp.V1419
## 1 -0.5321520 0.49235901 0.02530075 -0.6092631 0.42166976 0.18055144
## 2 1.4049717 -0.08442882 0.27714414 0.3118180 0.35641906 -0.28484215
## 3 -0.4048967 0.17582493 -0.43067252 -0.2607653 -0.07224749 -0.01125433
## 4 -0.4813801 0.34147389 -0.39857588 -0.3501026 -0.04810179 0.73261515
## 5 0.2607690 -3.20111357 3.47560459 3.2600005 -1.65214794 -1.37468295
## hotel2019 rest1614 RFD.2017 tot_ann pmedio pmedio.V1519
## 1 -0.3514202 0.51087652 1.5930751 -0.4407504 1.2858855 0.7758301
## 2 1.1698729 -0.04794922 0.5039249 0.9827528 0.5063425 0.6870490
## 3 -0.4203858 0.13244132 -0.5888431 -0.4612479 -0.4192780 -0.3292515
## 4 -0.4985165 -0.02007431 -0.2605859 -0.4677258 -0.4803683 -0.4811563
## 5 0.9698396 -1.95698293 -0.1076155 2.1538382 -0.1232834 -0.4163330
## pm_ent.V1519 pm_priv.V1519 pm_sha.V1519 alq.num alq.pm alq.pm.V1519
## 1 1.0523764 0.5584773 -0.20919317 -0.3339070 1.1637978 -0.12900577
## 2 0.3542079 0.1745569 0.45019356 1.4941205 0.5132125 0.37322494
## 3 -0.2459251 -0.1638581 -0.08124108 -0.5296721 -0.5036375 -0.22658713
## 4 -0.4340199 -0.3500613 -0.19049830 -0.5447242 -0.3098866 -0.03821903
## 5 -0.5152180 0.4062477 -0.10866604 0.6463580 0.2873644 0.72471736
## alq.num.V1519 tot.comp tot.eur perc.nou.comp perc.usat.comp
## 1 1.297860976 -0.6923511 1.55943762 -0.41188001 0.310135394
## 2 0.073338380 0.8936495 0.43961896 0.01627208 -0.004729966
## 3 -0.337693113 -0.2565086 -0.50438111 -0.57724452 0.598252581
## 4 0.005718211 -0.2146745 -0.37945872 1.77715327 -1.782800182
## 5 -0.529150450 0.6792846 -0.09378548 0.14813806 -0.116504870
## tot.comp.V1519 nou.eur.V1519 usat.eur.V1519
## 1 -0.7799422 -0.6934580 -0.472018705
## 2 -0.4209204 0.3970645 0.252223919
## 3 0.3392008 -0.3536856 -0.001860212
## 4 0.4541385 0.5559168 0.026366535
## 5 -0.6374699 1.1337574 -0.011071497
##
## Clustering vector:
## el Raval
## 5
## el Barri Gòtic
## 5
## la Barceloneta
## 5
## Sant Pere, Santa Caterina i la Ribera
## 5
## el Fort Pienc
## 2
## la Sagrada Família
## 2
## la Dreta de l'Eixample
## 2
## l'Antiga Esquerra de l'Eixample
## 2
## la Nova Esquerra de l'Eixample
## 2
## Sant Antoni
## 2
## el Poble Sec
## 2
## la Marina del Prat Vermell
## 1
## la Marina de Port
## 3
## la Font de la Guatlla
## 3
## Hostafrancs
## 3
## la Bordeta
## 3
## Sants - Badal
## 3
## Sants
## 2
## les Corts
## 2
## la Maternitat i Sant Ramon
## 1
## Pedralbes
## 1
## Vallvidrera, el Tibidabo i les Planes
## 1
## Sarrià
## 1
## les Tres Torres
## 1
## Sant Gervasi - la Bonanova
## 1
## Sant Gervasi - Galvany
## 2
## el Putxet i el Farró
## 2
## Vallcarca i els Penitents
## 4
## el Coll
## 4
## la Salut
## 3
## la Vila de Gràcia
## 2
## el Camp d'en Grassot i Gràcia Nova
## 2
## el Baix Guinardó
## 3
## Can Baró
## 3
## el Guinardó
## 3
## la Font d'en Fargues
## 3
## el Carmel
## 4
## la Teixonera
## 4
## Sant Genís dels Agudells
## 4
## Montbau
## 4
## la Vall d'Hebron
## 4
## la Clota
## 4
## Horta
## 4
## Vilapicina i la Torre Llobeta
## 3
## Porta
## 3
## el Turó de la Peira
## 3
## Can Peguera
## 3
## la Guineueta
## 3
## Canyelles
## 3
## les Roquetes
## 3
## Verdun
## 3
## la Prosperitat
## 3
## la Trinitat Nova
## 3
## Torre Baró
## 3
## Ciutat Meridiana
## 3
## Vallbona
## 3
## la Trinitat Vella
## 3
## Baró de Viver
## 3
## el Bon Pastor
## 3
## Sant Andreu
## 2
## la Sagrera
## 3
## el Congrés i els Indians
## 3
## Navas
## 3
## el Camp de l'Arpa del Clot
## 2
## el Clot
## 3
## el Parc i la Llacuna del Poblenou
## 3
## la Vila Olímpica del Poblenou
## 1
## el Poblenou
## 2
## Diagonal Mar i el Front Marítim del Poblenou
## 1
## el Besòs i el Maresme
## 4
## Provençals del Poblenou
## 4
## Sant Martí de Provençals
## 4
## la Verneda i la Pau
## 3
##
## Within cluster sum of squares by cluster:
## [1] 224.21041 315.99622 333.61509 186.67077 72.59433
## (between_SS / total_SS = 39.5 %)
##
## Available components:
##
## [1] "cluster" "centers" "totss" "withinss" "tot.withinss"
## [6] "betweenss" "size" "iter" "ifault"
Plot
final3 <- kmeans(df, centers = 3, nstart = 100)
final4 <- kmeans(df, centers = 4, nstart = 100)
final5 <- kmeans(df, centers = 5, nstart = 100)
fviz_cluster(final3, data = df)
fviz_cluster(final4, data = df)
fviz_cluster(final5, data = df)
kkk <- merged2 %>% mutate(Cluster = final3$cluster) %>% group_by(Cluster) %>% summarise_all(“mean”)
z_cluster(finalK, data = df)
for (i in 3:9) { finalK <- kmeans(df, centers = i, nstart = 100) #plot x <- fviz_cluster(finalK, data = df) x }
Descriptive Statistic
kkk <- merged %>% mutate(Cluster = finalK$cluster) %>% group_by(Nom_Barri) #%>% #summarise_all(“mean”)
k.1 <- kkk %>% filter(Cluster == 1)
k.1$Nom_Barri
k.2 <- kkk %>% filter(Cluster == 2)
k.2$Nom_Barri
k.3 <- kkk %>% filter(Cluster == 3)
k.3$Nom_Barri