Variables
merged2 <- merged %>%
remove_rownames %>%
column_to_rownames(var="Nom_Barri") %>%
select("n.tot","pc.esp","pc.ext","pc.ue27-esp","pc.20.34","var20192014",
"hotel2019",
"alq.mq","alq.num","alq.pmq",
"tot_ann","pm_priv",
"RFD.2017",
"tot.comp",
"tot.m2","nou.m2","usat.m2",
"tot.eur","nou.eur","usat.eur",
"tot.eurm2","nou.eurm2","usat.eurm2")
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")
#elbow (2 option)
set.seed(123)
fviz_nbclust(df, kmeans, method = "wss")
#Optimal K Average Silhouette Method
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")
# 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'): 10
## logW E.logW gap SE.sim
## [1,] 4.705749 5.259937 0.5541884 0.02586981
## [2,] 4.533015 5.089208 0.5561930 0.01836848
## [3,] 4.434657 4.995020 0.5603626 0.01604450
## [4,] 4.346159 4.924955 0.5787951 0.01527252
## [5,] 4.269861 4.873357 0.6034959 0.01607874
## [6,] 4.210431 4.827973 0.6175423 0.01569415
## [7,] 4.138934 4.785987 0.6470532 0.01525534
## [8,] 4.086740 4.747823 0.6610834 0.01544449
## [9,] 4.046406 4.711327 0.6649209 0.01573679
## [10,] 4.006661 4.676299 0.6696383 0.01623868
#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 17, 47, 9
##
## Cluster means:
## n.tot pc.esp pc.ext pc.ue27-esp pc.20.34 var20192014
## 1 1.1128037 -0.9697823 0.53139453 1.1224438 1.1356652 -0.45046935
## 2 -0.3764738 0.2669196 -0.02186679 -0.4371018 -0.2785328 0.05250041
## 3 -0.1359325 0.4378975 -0.88955198 0.1624714 -0.6905852 0.57671775
## hotel2019 alq.mq alq.num alq.pmq tot_ann pm_priv RFD.2017
## 1 1.2250015 0.1658677 1.36137683 0.5563495 1.4548583 0.6987719 0.2652500
## 2 -0.4138552 -0.3617208 -0.50546890 -0.3907094 -0.4614337 -0.4069119 -0.4919139
## 3 -0.1526476 1.5756810 0.06818137 0.9894888 -0.3383563 0.8050820 2.0678558
## tot.comp tot.m2 nou.m2 usat.m2 tot.eur nou.eur
## 1 0.7458757 0.007483167 0.5730867 -0.09606511 0.3149494 0.4924873
## 2 -0.2044474 -0.400388853 -0.2423863 -0.37814720 -0.4898090 -0.2761375
## 3 -0.3412064 2.076784695 0.1832983 2.15622501 1.9629871 0.5117978
## usat.eur tot.eurm2 nou.eurm2 usat.eurm2
## 1 0.3096641 0.6658013 0.6748636 0.7989462
## 2 -0.4951861 -0.5149079 -0.3166623 -0.5068476
## 3 2.0010508 1.4313388 0.3789387 1.1377503
##
## Clustering vector:
## el Raval
## 1
## el Barri Gòtic
## 1
## la Barceloneta
## 1
## Sant Pere, Santa Caterina i la Ribera
## 1
## el Fort Pienc
## 1
## 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
## 1
## el Poble Sec
## 1
## la Marina del Prat Vermell
## 2
## la Marina de Port
## 2
## la Font de la Guatlla
## 2
## Hostafrancs
## 2
## la Bordeta
## 2
## Sants - Badal
## 2
## Sants
## 1
## les Corts
## 1
## la Maternitat i Sant Ramon
## 2
## 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
## 1
## 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
## 1
## el Clot
## 2
## el Parc i la Llacuna del Poblenou
## 2
## la Vila OlÃmpica del Poblenou
## 3
## el Poblenou
## 1
## 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] 347.0812 470.5947 152.9880
## (between_SS / total_SS = 41.4 %)
##
## Available components:
##
## [1] "cluster" "centers" "totss" "withinss" "tot.withinss"
## [6] "betweenss" "size" "iter" "ifault"
## K-means clustering with 4 clusters of sizes 43, 9, 12, 9
##
## Cluster means:
## n.tot pc.esp pc.ext pc.ue27-esp pc.20.34 var20192014
## 1 -0.02082492 0.30216823 -0.1698382 -0.3367354 -0.30313452 -0.1481917
## 2 -1.23186969 0.04519057 0.5027959 -0.6560729 -0.02688119 0.9362771
## 3 1.10047426 -1.44508553 0.8986539 1.5768362 1.62433185 -0.6037259
## 4 -0.13593250 0.43789749 -0.8895520 0.1624714 -0.69058523 0.5767177
## hotel2019 alq.mq alq.num alq.pmq tot_ann pm_priv
## 1 -0.3418113 -0.2342219 -0.23302778 0.0814382 -0.3523294 -0.05364134
## 2 -0.4908104 -0.7894320 -0.97194313 -2.1472691 -0.6164977 -1.48127495
## 3 1.7074173 0.2496085 1.51283752 0.5765150 1.9786542 0.69935949
## 4 -0.1526476 1.5756810 0.06818137 0.9894888 -0.3383563 0.80508203
## RFD.2017 tot.comp tot.m2 nou.m2 usat.m2 tot.eur
## 1 -0.3167202 0.08379941 -0.28093742 0.05189809 -0.3077922 -0.2690940
## 2 -0.9569527 -0.90348719 -0.71153621 -1.11564707 -0.4918370 -1.1320435
## 3 0.3017366 0.63323897 -0.01724396 0.51329343 -0.1453691 0.3410457
## 4 2.0678558 -0.34120639 2.07678470 0.18329831 2.1562250 1.9629871
## nou.eur usat.eur tot.eurm2 nou.eurm2 usat.eurm2
## 1 -0.1840859 -0.2466872 -0.1528756 -0.1387833 -0.1449292
## 2 -0.4417489 -1.2572252 -1.6776943 -0.6934362 -1.6034079
## 3 0.6071044 0.3260934 0.7325709 0.7331801 0.8685727
## 4 0.5117978 2.0010508 1.4313388 0.3789387 1.1377503
##
## Clustering vector:
## el Raval
## 3
## el Barri Gòtic
## 3
## la Barceloneta
## 3
## Sant Pere, Santa Caterina i la Ribera
## 3
## el Fort Pienc
## 3
## la Sagrada FamÃlia
## 3
## la Dreta de l'Eixample
## 3
## l'Antiga Esquerra de l'Eixample
## 3
## la Nova Esquerra de l'Eixample
## 3
## Sant Antoni
## 3
## el Poble Sec
## 3
## la Marina del Prat Vermell
## 2
## la Marina de Port
## 1
## la Font de la Guatlla
## 1
## Hostafrancs
## 1
## la Bordeta
## 1
## Sants - Badal
## 1
## Sants
## 1
## les Corts
## 1
## la Maternitat i Sant Ramon
## 1
## Pedralbes
## 4
## Vallvidrera, el Tibidabo i les Planes
## 4
## SarriÃ
## 4
## les Tres Torres
## 4
## Sant Gervasi - la Bonanova
## 4
## 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
## 3
## el Camp d'en Grassot i Grà cia Nova
## 1
## 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
## 2
## Horta
## 1
## Vilapicina i la Torre Llobeta
## 1
## Porta
## 1
## el Turó de la Peira
## 1
## Can Peguera
## 2
## la Guineueta
## 1
## Canyelles
## 1
## les Roquetes
## 1
## Verdun
## 1
## la Prosperitat
## 1
## la Trinitat Nova
## 2
## Torre Baró
## 2
## Ciutat Meridiana
## 2
## Vallbona
## 2
## la Trinitat Vella
## 2
## Baró de Viver
## 2
## el Bon Pastor
## 1
## Sant Andreu
## 1
## la Sagrera
## 1
## el Congrés i els Indians
## 1
## Navas
## 1
## el Camp de l'Arpa del Clot
## 1
## el Clot
## 1
## el Parc i la Llacuna del Poblenou
## 1
## la Vila OlÃmpica del Poblenou
## 4
## el Poblenou
## 1
## Diagonal Mar i el Front MarÃtim del Poblenou
## 4
## 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] 291.3436 112.9236 270.3875 152.9880
## (between_SS / total_SS = 50.0 %)
##
## Available components:
##
## [1] "cluster" "centers" "totss" "withinss" "tot.withinss"
## [6] "betweenss" "size" "iter" "ifault"
## K-means clustering with 5 clusters of sizes 16, 39, 6, 8, 4
##
## Cluster means:
## n.tot pc.esp pc.ext pc.ue27-esp pc.20.34 var20192014
## 1 1.3170457 -0.1027052 -0.17426951 0.2703769 0.3236993 -0.2132161
## 2 -0.3065774 0.1922626 0.04173283 -0.3962497 -0.2865191 -0.1863167
## 3 -1.4072208 0.5865232 -0.20793102 -0.6989938 -0.1467416 1.6854480
## 4 -0.2144956 0.4287948 -0.89106637 0.1774065 -0.7705618 0.6745992
## 5 0.2607690 -3.2011136 2.38421218 3.4756046 3.2600005 -1.2079186
## hotel2019 alq.mq alq.num alq.pmq tot_ann pm_priv
## 1 1.0820316 0.2329520 1.37278719 0.46351290 0.9545881 0.4914054
## 2 -0.4356471 -0.3042741 -0.46160016 -0.02578238 -0.4414821 -0.2220394
## 3 -0.4723383 -0.8030739 -1.02639260 -2.94104491 -0.6222558 -1.7278432
## 4 -0.1709497 1.7131461 -0.04865812 1.04094460 -0.3671781 0.9112265
## 5 0.9698396 -0.1868167 0.64635796 0.72700477 2.1538382 0.9685742
## RFD.2017 tot.comp tot.m2 nou.m2 usat.m2 tot.eur nou.eur
## 1 0.3451497 0.9900926 0.2480725 0.6372307 0.1539110 0.40580085 0.4953887
## 2 -0.4446698 -0.1968782 -0.3840861 -0.1486527 -0.4088207 -0.40153238 -0.2738331
## 3 -0.8613461 -1.1894942 -0.6271876 -1.0469011 -0.2893546 -1.22929511 -0.4241994
## 4 2.1772830 -0.4679255 2.1701820 0.0924303 2.2506452 2.09116911 0.5150206
## 5 -0.1076155 0.6792846 -0.6470336 0.2859324 -0.6969003 -0.04665824 0.2945763
## usat.eur tot.eurm2 nou.eurm2 usat.eurm2
## 1 0.40380440 0.6132891 0.5865211 0.7078281
## 2 -0.37749694 -0.3298433 -0.3171531 -0.3536236
## 3 -1.41465632 -1.9382429 -0.6396372 -1.7933824
## 4 2.12669689 1.5107704 0.3187559 1.1621899
## 5 -0.06603177 0.6486391 1.0681018 0.9822119
##
## Clustering vector:
## el Raval
## 5
## el Barri Gòtic
## 5
## la Barceloneta
## 5
## Sant Pere, Santa Caterina i la Ribera
## 5
## el Fort Pienc
## 1
## 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
## 1
## 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
## 1
## les Corts
## 1
## la Maternitat i Sant Ramon
## 2
## Pedralbes
## 4
## Vallvidrera, el Tibidabo i les Planes
## 4
## SarriÃ
## 4
## les Tres Torres
## 4
## Sant Gervasi - la Bonanova
## 4
## Sant Gervasi - Galvany
## 4
## el Putxet i el Farró
## 1
## 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
## 1
## 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
## 3
## Horta
## 2
## Vilapicina i la Torre Llobeta
## 2
## Porta
## 2
## el Turó de la Peira
## 2
## Can Peguera
## 3
## la Guineueta
## 2
## Canyelles
## 2
## les Roquetes
## 2
## Verdun
## 2
## la Prosperitat
## 2
## la Trinitat Nova
## 2
## Torre Baró
## 3
## Ciutat Meridiana
## 2
## Vallbona
## 3
## la Trinitat Vella
## 2
## Baró de Viver
## 3
## el Bon Pastor
## 2
## Sant Andreu
## 1
## la Sagrera
## 2
## el Congrés i els Indians
## 2
## Navas
## 2
## el Camp de l'Arpa del Clot
## 1
## el Clot
## 1
## el Parc i la Llacuna del Poblenou
## 2
## la Vila OlÃmpica del Poblenou
## 4
## el Poblenou
## 1
## Diagonal Mar i el Front MarÃtim del Poblenou
## 4
## 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] 220.04894 235.40289 65.18339 140.98060 49.86982
## (between_SS / total_SS = 57.0 %)
##
## 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)