library(dplyr)
## Warning: package 'dplyr' was built under R version 4.1.3
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
PATH <-"https://raw.githubusercontent.com/guru99-edu/R-Programming/master/computers.csv"
df <- read.csv(PATH) %>%
select(-c(X, cd, multi, premium))
glimpse(df)
## Rows: 6,259
## Columns: 7
## $ price <int> 1499, 1795, 1595, 1849, 3295, 3695, 1720, 1995, 2225, 2575, 219~
## $ speed <int> 25, 33, 25, 25, 33, 66, 25, 50, 50, 50, 33, 66, 50, 25, 50, 50,~
## $ hd <int> 80, 85, 170, 170, 340, 340, 170, 85, 210, 210, 170, 210, 130, 2~
## $ ram <int> 4, 2, 4, 8, 16, 16, 4, 2, 8, 4, 8, 8, 4, 8, 8, 4, 2, 4, 4, 8, 4~
## $ screen <int> 14, 14, 15, 14, 14, 14, 14, 14, 14, 15, 15, 14, 14, 14, 14, 14,~
## $ ads <int> 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,~
## $ trend <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ~
summary(df)
## price speed hd ram
## Min. : 949 Min. : 25.00 Min. : 80.0 Min. : 2.000
## 1st Qu.:1794 1st Qu.: 33.00 1st Qu.: 214.0 1st Qu.: 4.000
## Median :2144 Median : 50.00 Median : 340.0 Median : 8.000
## Mean :2220 Mean : 52.01 Mean : 416.6 Mean : 8.287
## 3rd Qu.:2595 3rd Qu.: 66.00 3rd Qu.: 528.0 3rd Qu.: 8.000
## Max. :5399 Max. :100.00 Max. :2100.0 Max. :32.000
## screen ads trend
## Min. :14.00 Min. : 39.0 Min. : 1.00
## 1st Qu.:14.00 1st Qu.:162.5 1st Qu.:10.00
## Median :14.00 Median :246.0 Median :16.00
## Mean :14.61 Mean :221.3 Mean :15.93
## 3rd Qu.:15.00 3rd Qu.:275.0 3rd Qu.:21.50
## Max. :17.00 Max. :339.0 Max. :35.00
rescale_df <- df %>%
mutate(price_scal = scale(price),
hd_scal = scale(hd),
ram_scal = scale(ram),
screen_scal = scale(screen),
ads_scal = scale(ads),
trend_scal = scale(trend)) %>%
select(-c(price, speed, hd, ram, screen, ads, trend))
#kmeans(df,K)
#arguments:
#df: dataset used to run the algorithm
#k: Number of clusters
set.seed(2345)
library(animation)
## Warning: package 'animation' was built under R version 4.1.3
#kmeans.ani(rescale_df[2:3], 3)
pc_cluster <-kmeans(rescale_df, 5)
kmean_withinss <- function(k) {
cluster <- kmeans(rescale_df, k)
return (cluster$tot.withinss)
}
kmean_withinss(2)
## [1] 27400.21
# Set maximum cluster
max_k <-20
# Run algorithm over a range of k
wss <- sapply(2:max_k, kmean_withinss)
# Create a data frame to plot the graph
elbow <-data.frame(2:max_k, wss)
# Plot the graph with gglop
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.1.3
ggplot(elbow, aes(x = X2.max_k, y = wss)) +
geom_point() +
geom_line() +
scale_x_continuous(breaks = seq(1, 20, by = 1))

pc_cluster_2 <-kmeans(rescale_df, 7)
pc_cluster_2$cluster
## [1] 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 6 4 4 4 4 4 4 4 4 6 4 4 4 4
## [38] 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 6 6 4 4 4 4 4 4 4 4 4 4 4 4 6 4 4
## [75] 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 6 4 4 4 4 4 4 4 4 4 4 4 4 4 4 6 4 4 4 4 4
## [112] 4 4 4 4 6 4 4 4 4 4 4 4 4 4 4 6 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
## [149] 4 4 4 4 4 4 4 4 4 4 6 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 6 4 4 4 6 4 4 4
## [186] 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 6 4 4 4 4 4 4 4 4 4 6 4 4 6 4 4 4 4 4 6 4
## [223] 4 4 4 4 4 4 4 6 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 6 4 4
## [260] 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
## [297] 4 4 4 4 4 4 4 4 4 4 6 4 4 4 4 4 4 4 4 4 4 6 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
## [334] 4 4 4 4 4 6 6 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 6 4 4 4 4 6 4 4 4 4 4 4
## [371] 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
## [408] 4 4 4 4 4 4 4 6 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 6 4 6 4 6 4 4 4
## [445] 4 4 4 4 4 4 4 4 4 4 4 4 6 4 6 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
## [482] 4 4 4 4 4 4 4 6 4 1 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 6 4 4 4 4 4 4 4 6 4 4
## [519] 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 3 4 4 4 4 4 4 4 4 4 4 5 3 4 3
## [556] 5 4 6 3 4 6 4 4 4 4 4 4 5 4 4 4 4 4 4 4 6 4 3 4 4 4 4 6 4 6 4 3 4 4 4 4 4
## [593] 3 4 4 5 4 4 4 4 4 3 4 3 5 5 4 5 4 4 3 3 4 4 4 1 4 4 4 5 6 4 4 4 4 3 4 4 4
## [630] 4 4 4 4 5 4 4 4 5 4 4 5 6 4 3 4 6 3 4 4 4 4 4 4 4 4 4 6 5 4 4 6 4 4 4 4 3
## [667] 3 4 4 4 4 3 3 3 4 4 6 4 4 4 6 5 4 3 4 4 6 4 4 3 4 4 4 3 5 4 4 4 3 5 4 4 4
## [704] 3 4 4 3 4 4 4 3 4 5 3 5 5 3 6 3 6 1 5 3 5 5 5 5 3 3 5 5 5 5 5 5 5 5 5 3 3
## [741] 3 5 5 5 5 6 5 5 5 3 5 6 5 3 6 5 5 6 5 5 5 5 5 3 5 5 3 5 5 3 5 5 6 3 3 3 5
## [778] 5 3 3 5 5 3 3 5 5 5 3 5 3 5 3 5 6 5 3 3 5 3 3 3 3 5 6 5 3 5 3 3 5 3 5 5 3
## [815] 5 5 3 5 5 5 3 3 3 3 3 5 5 5 5 3 3 5 5 5 5 5 3 3 5 3 3 3 3 3 3 5 5 5 5 5 5
## [852] 3 3 5 3 3 5 5 5 3 5 5 5 5 3 5 5 3 3 3 5 5 5 5 5 3 5 5 5 5 3 6 5 3 3 5 3 3
## [889] 5 5 3 3 5 5 6 5 3 3 5 3 1 3 3 5 3 5 5 5 3 5 3 5 5 5 5 5 5 5 5 5 3 5 3 5 5
## [926] 5 5 5 3 5 5 3 5 5 5 6 3 3 5 5 5 3 5 5 3 5 5 3 5 5 3 3 5 5 3 3 5 3 5 3 3 5
## [963] 3 5 3 3 5 5 5 3 3 3 6 5 3 3 5 5 5 5 5 1 3 5 3 3 5 5 5 5 5 5 5 1 3 3 3 5 6
## [1000] 5 5 5 3 6 5 5 5 6 5 6 5 6 5 5 5 5 3 5 5 5 3 5 3 5 3 3 5 5 5 3 3 5 3 5 5 6
## [1037] 5 3 3 3 3 5 1 5 5 5 5 3 1 5 3 3 5 5 5 3 5 5 5 3 5 5 5 5 3 5 5 6 5 3 3 5 5
## [1074] 5 5 3 5 3 3 5 5 3 5 5 3 3 3 3 3 5 3 5 5 3 3 5 3 5 1 5 5 1 5 5 5 5 3 5 3 3
## [1111] 5 5 5 3 5 5 3 3 3 5 3 5 1 5 5 3 3 3 5 3 5 5 3 5 5 6 5 5 3 5 5 6 6 3 6 3 3
## [1148] 5 5 3 3 3 5 3 6 3 3 5 6 5 3 6 3 3 5 3 5 5 5 3 5 3 3 5 5 6 1 3 3 5 5 3 5 6
## [1185] 5 5 3 5 5 5 5 5 5 5 5 3 5 5 3 5 5 6 3 6 5 5 6 3 5 3 5 5 5 5 3 5 3 3 5 5 3
## [1222] 5 5 5 3 3 5 5 3 6 5 3 5 5 5 3 5 5 5 5 5 5 5 5 5 5 3 5 5 3 5 5 5 6 5 3 3 5
## [1259] 3 3 5 3 3 5 5 3 3 3 3 5 5 3 5 3 5 6 3 5 5 3 5 5 3 3 5 5 3 5 5 5 5 5 3 5 5
## [1296] 5 3 5 3 3 5 5 5 5 3 3 3 3 6 5 5 5 3 6 5 5 5 5 3 5 5 5 3 5 3 5 3 5 5 5 5 5
## [1333] 5 5 3 6 3 5 5 6 3 3 3 5 5 3 3 5 5 5 3 6 3 5 3 5 3 5 5 3 5 3 5 3 3 5 3 5 5
## [1370] 3 5 5 5 3 5 3 5 5 5 3 5 3 5 5 5 6 3 6 5 5 5 5 5 5 6 5 5 3 5 5 5 5 5 3 3 3
## [1407] 3 3 3 5 3 6 5 5 3 5 5 5 3 3 5 5 5 5 5 5 5 5 5 5 5 3 3 5 3 5 5 5 3 3 6 5 3
## [1444] 5 3 6 5 6 5 3 3 5 3 5 3 5 3 3 3 3 3 5 5 3 5 3 3 3 5 5 3 5 5 5 3 3 3 6 5 3
## [1481] 5 3 3 3 3 5 5 3 3 5 3 3 3 5 5 3 3 5 5 5 5 3 6 5 5 3 1 5 5 6 3 5 5 5 3 3 3
## [1518] 5 3 3 5 3 5 5 1 5 5 3 3 3 5 5 6 5 3 5 5 5 5 5 5 5 6 3 5 3 5 5 5 3 3 5 5 5
## [1555] 5 3 5 3 3 3 3 3 5 5 3 6 3 5 3 5 5 5 3 5 3 5 5 5 3 6 5 5 5 5 5 3 6 3 3 3 5
## [1592] 5 5 6 5 5 6 3 3 5 6 5 3 5 3 3 5 3 5 5 1 5 5 6 5 5 3 3 5 3 5 5 6 5 3 5 5 3
## [1629] 3 5 5 5 5 5 5 5 5 3 3 5 5 3 3 3 5 5 5 5 5 5 5 6 5 3 3 5 5 5 3 5 3 5 3 5 3
## [1666] 3 3 5 3 3 3 5 3 5 5 5 5 5 3 5 3 3 5 5 5 5 5 5 1 5 5 3 5 5 5 3 6 5 3 5 6 5
## [1703] 5 3 3 5 3 3 5 3 5 6 6 3 5 5 5 3 5 5 3 5 6 5 5 5 3 5 5 5 3 5 3 6 5 5 3 3 3
## [1740] 6 3 5 5 3 3 5 5 5 3 5 3 3 5 3 3 3 3 5 5 3 5 5 6 3 5 3 3 6 3 3 5 5 3 5 3 3
## [1777] 5 3 5 5 5 5 5 5 1 5 3 5 3 3 3 3 5 5 3 5 3 5 5 5 3 3 3 5 5 3 6 3 5 3 5 6 5
## [1814] 6 5 3 3 6 5 6 3 5 3 5 5 5 6 3 3 3 3 5 5 6 3 1 6 3 5 6 6 3 6 3 5 5 5 3 3 5
## [1851] 3 5 5 3 3 5 3 3 3 3 5 3 5 5 5 3 6 3 3 5 3 5 5 5 3 5 5 5 3 5 5 5 3 5 3 5 5
## [1888] 5 5 6 5 5 5 5 3 3 3 3 5 5 3 5 5 5 3 5 5 5 5 3 5 5 5 5 3 5 3 5 5 5 5 3 5 3
## [1925] 3 5 3 5 5 5 3 3 5 3 3 5 5 5 3 5 5 5 5 5 3 6 5 5 5 5 5 3 3 5 6 3 5 6 5 5 3
## [1962] 5 6 5 3 5 5 3 3 5 5 6 3 3 5 5 5 5 5 5 3 5 5 6 3 5 5 5 5 5 5 1 5 3 5 5 3 3
## [1999] 5 6 3 3 5 3 3 5 3 5 3 3 3 5 5 5 3 3 5 3 5 5 5 3 5 3 5 3 3 5 3 3 3 6 6 5 5
## [2036] 5 3 3 3 3 5 3 1 3 3 3 3 5 5 5 3 5 3 5 6 5 5 5 5 5 5 1 5 5 5 6 5 3 5 3 3 5
## [2073] 3 3 3 3 3 5 5 5 3 5 5 5 3 3 3 3 5 3 5 5 5 3 5 5 1 3 5 5 5 3 3 3 3 3 3 5 5
## [2110] 3 3 3 5 5 5 5 5 5 3 3 5 6 3 5 5 3 3 6 5 5 5 5 3 3 5 3 6 5 5 5 5 3 3 5 5 5
## [2147] 3 5 1 6 5 6 3 5 6 3 5 5 3 6 5 3 5 5 6 5 3 5 3 5 3 6 5 5 5 5 3 5 6 5 3 5 3
## [2184] 5 5 5 3 5 6 5 5 5 3 5 5 3 3 6 5 5 5 6 3 5 1 5 3 5 5 6 5 3 5 3 5 3 5 5 3 6
## [2221] 5 3 5 6 3 3 6 5 3 5 5 5 5 5 5 5 5 5 3 5 3 5 3 5 3 3 5 5 3 6 3 5 3 3 3 5 5
## [2258] 5 5 5 3 5 5 5 5 5 3 3 5 6 5 3 5 5 5 5 5 3 3 3 5 1 3 3 5 5 5 3 6 3 5 5 5 5
## [2295] 5 3 5 6 3 5 5 6 3 3 5 3 3 5 3 5 5 5 3 3 5 5 5 5 5 5 5 5 5 5 5 5 3 3 5 5 3
## [2332] 3 5 3 3 6 3 5 3 5 3 3 6 5 5 3 5 5 5 3 6 5 5 5 5 3 5 3 5 5 5 3 3 5 3 5 5 5
## [2369] 5 3 3 5 3 6 5 5 3 5 5 5 3 3 3 5 3 5 3 3 5 5 5 5 5 3 5 6 5 3 5 5 5 5 3 3 3
## [2406] 5 3 3 5 5 3 3 5 5 5 5 3 5 3 5 3 5 3 6 3 5 5 3 5 3 5 5 3 5 5 3 5 3 3 5 5 3
## [2443] 5 3 5 5 3 5 3 5 5 3 5 5 5 3 5 3 3 3 5 3 3 5 5 3 5 5 1 3 5 3 3 5 5 5 6 5 5
## [2480] 3 3 3 6 5 5 3 5 5 3 5 5 5 5 5 5 3 5 6 5 5 3 5 5 3 5 5 5 5 3 3 5 3 3 3 5 6
## [2517] 5 3 3 3 3 3 5 5 3 5 5 5 3 3 3 3 5 5 3 5 5 5 5 5 5 3 3 3 5 3 3 6 3 5 3 3 5
## [2554] 5 3 5 5 5 5 5 3 5 5 5 5 5 5 6 5 5 5 3 3 3 5 5 3 6 5 6 5 3 3 5 5 5 3 3 5 5
## [2591] 5 5 3 5 3 5 5 5 5 3 5 6 3 5 5 3 3 6 3 3 3 5 3 6 6 3 5 5 3 3 3 3 5 5 6 6 6
## [2628] 5 5 3 5 5 3 5 5 5 3 3 5 5 5 5 5 6 5 3 3 5 5 5 3 3 5 3 5 3 5 5 5 3 5 5 3 5
## [2665] 5 5 3 3 3 5 3 3 3 5 5 3 5 3 3 6 3 5 6 6 3 6 5 3 5 5 3 5 5 3 6 6 5 3 3 5 3
## [2702] 5 3 3 3 5 5 3 5 3 5 5 5 3 3 6 5 5 5 5 5 5 5 3 3 5 3 3 3 5 3 5 5 3 5 5 6 5
## [2739] 3 3 5 5 5 5 5 5 6 5 5 3 5 3 5 6 6 5 5 5 3 5 5 5 3 5 3 3 3 3 5 5 5 5 5 5 5
## [2776] 3 3 5 3 5 5 3 5 5 3 3 5 3 5 3 3 3 3 5 3 3 6 5 3 5 5 3 5 5 3 5 5 3 5 5 3 5
## [2813] 5 3 3 3 5 3 3 6 3 3 3 5 3 5 3 5 3 5 5 3 6 5 3 5 3 5 5 3 5 3 5 6 3 5 6 5 5
## [2850] 5 5 5 5 5 5 3 5 5 3 3 3 5 6 3 5 3 5 5 3 5 3 5 5 5 3 5 3 5 5 5 3 5 3 5 5 5
## [2887] 3 3 5 6 5 5 3 3 5 3 5 5 3 3 5 6 5 5 5 5 3 6 3 3 3 3 6 3 3 3 5 5 5 5 5 5 3
## [2924] 6 5 5 3 3 5 3 5 3 6 5 5 5 3 5 6 5 3 5 5 3 6 3 3 6 5 5 3 5 5 5 5 5 3 5 5 3
## [2961] 5 3 3 5 5 3 3 5 3 5 5 3 6 5 5 3 6 3 5 6 3 5 5 3 5 3 5 5 5 5 5 3 5 5 3 3 5
## [2998] 3 5 3 5 5 6 5 3 3 5 5 5 5 3 6 3 3 3 5 3 3 6 5 5 3 5 3 3 5 3 5 5 5 3 3 5 5
## [3035] 3 5 5 5 5 5 5 5 3 5 3 3 5 5 5 5 5 5 5 5 5 5 5 6 5 6 3 5 3 5 6 3 3 5 5 5 3
## [3072] 5 3 5 5 3 3 3 5 5 5 5 3 5 5 5 3 5 5 5 6 3 3 3 5 3 3 3 5 5 5 3 5 3 3 5 3 3
## [3109] 3 5 5 5 3 5 3 3 5 5 5 3 3 3 6 6 5 3 5 5 5 5 3 3 5 5 5 6 3 5 3 5 5 5 3 5 3
## [3146] 5 1 3 5 3 5 6 5 3 5 5 6 3 5 3 5 5 5 5 3 3 5 5 3 5 6 3 3 5 5 6 3 1 5 5 5 5
## [3183] 5 5 3 5 5 5 3 5 5 5 6 3 5 3 6 5 5 3 5 5 5 6 3 5 5 6 3 5 5 5 5 5 5 6 6 5 5
## [3220] 5 5 3 5 5 3 3 3 5 5 5 1 3 5 3 5 5 5 5 3 5 5 5 5 5 5 3 5 3 6 6 3 5 3 5 5 5
## [3257] 5 5 5 5 6 3 5 5 6 5 5 3 5 6 5 3 3 5 5 3 3 6 3 3 5 5 5 3 3 3 5 5 3 5 3 5 3
## [3294] 3 5 5 5 3 3 5 5 5 3 5 5 5 5 5 5 3 3 3 5 6 6 3 3 3 3 3 5 3 3 3 5 5 3 5 3 3
## [3331] 5 3 3 3 5 5 3 5 3 3 5 5 3 5 6 5 5 3 5 3 6 5 3 3 6 3 5 3 5 5 3 5 3 3 5 3 5
## [3368] 5 5 5 3 3 3 5 5 5 6 5 5 3 3 5 5 5 5 5 3 5 3 5 3 5 3 3 3 3 5 5 3 5 3 3 5 3
## [3405] 5 3 5 5 5 5 3 5 3 5 5 5 3 5 3 3 5 5 3 3 3 3 5 6 5 5 5 5 3 5 5 5 5 5 3 5 6
## [3442] 5 5 3 5 5 5 3 5 3 5 3 5 3 3 5 5 5 5 3 5 5 3 5 5 5 5 5 5 5 5 5 3 5 3 5 5 5
## [3479] 3 5 3 6 6 5 5 3 5 5 3 5 5 5 5 3 5 3 3 3 5 3 5 5 5 3 6 5 3 5 3 5 3 3 5 5 5
## [3516] 5 3 3 3 6 5 3 5 3 5 5 5 3 6 5 6 1 5 3 3 5 3 6 5 3 3 6 3 3 6 5 3 5 6 3 6 3
## [3553] 3 3 3 6 5 6 5 3 3 5 5 6 5 5 5 5 3 3 3 3 3 3 3 3 3 5 5 3 5 3 5 6 3 6 3 5 3
## [3590] 6 3 3 3 3 3 5 3 5 3 5 5 3 3 3 3 5 3 5 5 5 5 5 3 3 6 5 6 5 5 6 3 3 6 3 3 3
## [3627] 5 3 3 3 3 3 3 3 3 3 5 3 3 5 5 3 3 3 5 3 3 5 1 5 3 5 6 5 6 3 3 5 5 5 5 5 3
## [3664] 3 5 3 6 5 5 6 3 6 5 5 6 3 5 3 3 3 5 5 3 3 5 3 5 5 3 6 5 5 5 3 5 5 3 5 3 3
## [3701] 5 3 3 5 5 3 3 5 3 3 5 5 5 5 3 3 6 3 5 5 5 5 5 3 5 5 3 3 5 3 3 5 3 3 5 5 3
## [3738] 5 3 5 3 6 3 3 5 5 5 5 3 3 3 1 3 5 3 6 3 3 5 5 3 3 3 5 6 3 5 6 5 3 3 1 5 3
## [3775] 5 3 6 3 3 5 5 5 1 1 5 3 5 3 5 5 1 5 5 3 6 1 1 3 5 6 5 5 1 5 3 5 3 5 5 1 5
## [3812] 5 6 3 6 3 5 3 5 3 6 6 5 3 5 1 3 1 6 5 5 3 5 1 6 3 3 3 3 5 3 5 3 6 5 5 3 5
## [3849] 5 3 3 3 1 1 3 5 5 6 5 3 5 5 1 5 6 5 5 5 3 6 3 5 6 1 3 3 5 3 1 1 3 3 5 3 3
## [3886] 5 5 5 6 5 1 5 3 1 3 5 6 3 5 3 1 5 5 1 1 3 3 1 5 3 3 3 5 3 6 5 5 1 5 3 1 1
## [3923] 5 3 5 5 3 5 3 5 5 5 3 3 5 6 5 3 3 3 3 3 5 3 3 3 6 5 3 3 5 6 3 3 3 5 3 1 5
## [3960] 3 3 3 5 3 6 5 5 1 5 3 5 3 5 5 5 1 3 5 3 1 5 5 5 6 5 5 5 3 6 5 6 5 3 3 3 1
## [3997] 5 3 3 5 5 6 3 6 1 6 6 5 3 3 3 5 5 3 3 6 5 5 5 3 2 1 5 2 3 1 3 2 6 5 5 2 5
## [4034] 2 2 3 5 3 3 1 5 3 3 5 3 3 3 2 2 3 5 5 3 3 3 5 3 5 3 3 5 2 2 5 3 1 6 3 3 3
## [4071] 5 5 1 6 3 3 6 3 1 2 1 5 3 5 2 5 5 6 3 1 5 6 1 3 3 5 3 3 2 1 2 3 2 5 2 5 5
## [4108] 5 5 5 3 5 5 1 5 5 3 5 2 6 5 1 2 5 3 6 6 2 1 6 3 1 2 2 2 3 3 5 3 6 3 5 3 6
## [4145] 6 2 2 5 5 5 3 1 3 5 5 3 3 5 6 1 3 5 3 5 3 3 3 6 5 1 3 5 3 3 3 5 6 5 2 1 3
## [4182] 2 5 2 5 1 5 5 5 2 3 2 1 2 6 1 3 5 1 2 1 3 1 5 5 2 3 1 3 6 5 5 6 2 1 2 3 5
## [4219] 1 2 2 1 5 5 3 6 1 6 2 5 3 3 5 1 3 3 3 6 2 1 3 2 2 5 1 5 1 3 1 5 3 5 5 3 1
## [4256] 3 5 2 5 6 1 6 5 2 5 5 6 1 6 3 3 1 5 2 5 5 2 5 1 1 1 3 6 5 3 3 5 5 5 6 5 3
## [4293] 1 5 6 2 5 1 2 6 5 3 3 5 5 5 3 5 3 1 3 5 5 6 5 1 3 5 3 5 3 1 5 1 1 3 5 2 1
## [4330] 5 1 3 5 5 5 5 1 5 5 6 1 5 5 5 3 6 5 5 1 2 1 1 5 1 6 5 3 5 1 2 5 5 2 6 5 3
## [4367] 5 2 5 5 5 1 6 5 1 3 5 5 1 3 3 6 3 5 3 1 3 5 5 5 2 3 3 3 5 5 5 2 6 1 2 6 5
## [4404] 5 3 3 1 2 3 6 1 1 5 6 3 5 5 5 5 5 5 1 5 1 3 5 1 3 1 5 5 1 1 5 3 5 6 5 6 1
## [4441] 1 5 1 5 5 3 5 2 1 5 3 1 1 3 5 6 3 1 5 1 6 3 3 2 5 2 5 3 5 5 1 5 1 5 1 1 5
## [4478] 1 3 5 3 5 5 5 3 2 5 1 2 1 6 1 5 1 2 1 2 1 6 5 2 5 1 2 5 2 5 5 2 1 5 2 5 1
## [4515] 2 6 1 5 1 6 2 1 2 2 5 2 5 2 5 1 3 2 6 1 1 5 2 1 5 5 2 2 2 2 2 2 2 2 1 1 1
## [4552] 2 1 2 2 2 2 2 1 3 2 1 2 1 2 1 5 2 1 2 6 6 2 2 2 1 6 6 2 1 1 1 3 1 2 2 2 1
## [4589] 2 2 2 2 2 5 2 2 2 2 2 2 5 2 2 2 2 1 2 2 2 1 2 1 2 3 2 2 1 5 6 2 1 5 2 2 3
## [4626] 2 5 6 1 2 2 1 6 2 1 1 3 5 2 6 2 1 1 5 2 1 2 5 6 3 1 5 2 1 5 6 2 6 2 2 2 1
## [4663] 1 2 5 2 5 2 1 5 5 1 2 5 2 1 6 6 5 2 2 2 6 2 2 6 2 5 2 1 5 2 6 2 1 1 2 2 2
## [4700] 1 3 2 1 1 6 2 2 1 1 7 2 1 6 2 6 2 2 1 2 1 1 2 2 1 2 2 2 2 1 1 1 1 2 2 2 2
## [4737] 2 2 1 1 2 2 2 1 1 2 2 2 1 2 2 2 1 1 2 6 2 1 1 2 2 2 2 2 2 2 2 1 2 1 2 2 2
## [4774] 6 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 6 1 2 2
## [4811] 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 2 2 2 1 2 2 2 2 1 1 1 2 1 1 2 2 1 2 2 1 2 7
## [4848] 6 1 2 1 1 2 6 1 2 1 1 1 2 1 1 2 2 2 2 2 2 1 1 2 2 1 2 2 1 2 2 2 1 2 2 2 2
## [4885] 2 6 1 6 2 2 1 2 2 6 2 2 2 2 2 3 6 1 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2
## [4922] 2 2 2 2 6 2 2 2 6 2 1 2 2 1 1 2 2 1 2 1 2 2 2 2 2 2 1 2 2 6 2 2 2 2 2 2 2
## [4959] 1 2 2 1 1 2 2 2 2 2 2 1 2 2 2 1 2 2 1 2 1 2 2 2 2 1 2 1 6 1 2 2 2 1 1 2 2
## [4996] 2 2 6 2 2 2 2 2 6 2 2 1 2 1 2 2 1 2 1 2 2 2 1 2 1 1 2 1 2 2 2 1 2 2 1 2 1
## [5033] 2 2 2 1 1 2 2 2 1 1 2 6 6 2 1 2 2 2 1 1 2 2 2 6 2 2 1 1 2 1 2 1 2 2 1 2 2
## [5070] 2 6 2 6 2 6 6 6 2 1 2 2 1 2 1 2 2 6 2 1 2 2 2 1 1 2 1 2 6 1 2 1 2 1 2 2 2
## [5107] 2 1 1 2 2 2 2 2 2 2 2 1 2 2 2 2 6 6 6 1 2 1 6 2 2 2 1 2 2 6 2 1 2 2 2 2 1
## [5144] 2 2 2 2 2 2 2 6 1 1 2 1 6 2 6 2 1 2 1 2 2 2 1 6 2 2 1 2 2 6 2 6 2 2 2 1 2
## [5181] 1 2 1 1 2 2 2 2 2 2 2 2 6 2 2 1 2 2 2 6 2 2 2 2 2 2 1 2 2 2 1 2 6 2 2 1 1
## [5218] 2 2 1 1 1 6 2 2 2 2 2 2 1 6 2 1 2 2 1 2 2 1 6 2 2 2 2 2 2 2 2 6 1 2 2 1 1
## [5255] 6 6 2 2 1 2 2 2 1 1 2 6 1 1 2 2 2 2 2 2 2 6 2 2 2 2 2 2 1 6 2 1 2 2 2 6 2
## [5292] 2 2 2 2 1 6 2 2 2 2 1 1 6 2 1 2 1 6 6 6 1 1 1 2 2 2 1 1 2 1 6 2 2 2 1 2 2
## [5329] 2 2 1 2 1 1 2 1 1 1 2 1 1 2 2 2 2 2 2 2 2 6 6 6 2 2 2 2 2 2 2 2 2 2 2 1 2
## [5366] 2 6 2 2 2 2 2 2 6 2 2 2 2 2 2 2 2 2 2 2 2 2 6 2 2 2 1 6 2 1 2 6 2 1 2 1 2
## [5403] 1 2 2 2 1 1 2 7 2 2 2 2 2 7 2 2 2 6 1 1 6 2 1 6 2 6 2 6 2 2 2 2 2 6 2 2 6
## [5440] 7 1 2 1 1 2 2 2 6 2 1 6 2 6 2 2 6 2 2 1 2 2 2 6 2 6 1 2 2 2 1 6 6 2 2 6 1
## [5477] 2 2 2 2 6 1 1 6 1 2 6 2 6 1 2 2 2 2 2 2 1 2 1 2 2 2 1 2 6 6 1 6 2 7 1 1 2
## [5514] 1 2 2 1 1 2 2 2 1 2 2 2 2 2 2 6 2 2 2 2 1 2 2 6 2 6 1 2 2 2 2 2 2 6 1 2 6
## [5551] 2 1 2 6 2 1 2 1 6 6 1 2 1 2 6 2 2 2 2 2 1 2 2 6 1 7 7 2 6 2 2 2 2 2 2 2 2
## [5588] 1 2 1 1 6 2 1 7 2 2 2 6 2 2 2 2 2 6 1 6 2 2 2 2 2 2 2 2 6 2 2 2 2 2 2 1 6
## [5625] 7 2 2 2 2 2 6 1 2 2 2 2 1 2 6 2 1 2 1 6 2 1 1 2 6 2 6 2 2 2 2 2 1 2 7 6 2
## [5662] 6 2 2 2 6 1 2 1 2 1 1 2 6 1 7 6 7 1 2 6 2 1 2 2 1 2 1 2 6 2 1 1 2 2 1 1 2
## [5699] 2 1 2 2 2 2 2 2 2 2 2 2 7 7 7 2 2 6 7 2 2 6 2 2 2 2 7 7 6 2 2 2 7 2 2 2 7
## [5736] 7 7 7 2 2 2 2 2 2 2 2 7 2 2 7 7 2 2 2 2 2 6 2 7 2 2 6 2 7 2 2 7 7 2 2 2 2
## [5773] 2 6 2 7 6 7 7 6 2 2 7 7 7 2 2 2 6 6 7 6 2 6 2 2 2 6 6 2 2 6 2 2 2 7 2 6 6
## [5810] 2 2 2 2 2 2 2 7 7 6 7 6 2 2 7 2 6 2 7 6 2 2 2 6 7 2 7 2 6 7 2 2 2 7 2 2 2
## [5847] 7 2 7 2 2 6 7 2 7 2 2 7 2 7 6 6 7 6 2 7 6 6 2 6 6 6 2 2 2 6 7 2 6 2 2 7 2
## [5884] 2 7 2 2 7 2 2 6 2 2 2 2 2 2 6 7 2 7 7 2 2 2 6 2 6 7 2 2 7 7 2 2 2 6 2 2 7
## [5921] 2 2 7 2 2 2 2 6 7 2 2 6 2 2 2 2 2 7 2 7 6 2 7 2 7 7 2 2 2 2 2 7 7 7 6 7 7
## [5958] 2 7 6 7 2 2 2 7 2 7 2 2 2 7 2 7 7 2 2 7 7 7 7 7 7 2 2 7 7 2 2 2 2 2 6 7 2
## [5995] 7 2 2 2 2 7 7 7 2 2 7 7 7 7 7 7 2 2 2 2 7 2 2 2 2 2 2 2 2 2 7 2 2 2 6 2 7
## [6032] 7 2 7 2 2 7 7 7 2 2 7 2 2 7 2 7 2 2 2 2 2 2 2 7 7 2 2 7 7 2 2 7 6 2 2 6 7
## [6069] 7 7 2 2 2 7 7 2 2 7 2 7 2 7 7 7 2 2 7 2 2 2 2 2 2 7 2 2 2 6 2 2 2 7 2 7 2
## [6106] 2 7 2 7 2 2 7 2 2 7 7 6 7 7 7 2 7 7 7 2 2 7 2 7 7 2 2 2 2 7 2 7 7 2 2 2 2
## [6143] 7 2 2 2 7 7 7 2 2 7 2 2 7 2 7 7 7 7 7 7 2 2 7 7 2 7 7 7 2 2 2 2 7 2 7 2 7
## [6180] 2 7 2 7 7 7 7 2 2 7 7 2 7 7 7 7 2 7 7 2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2 2
## [6217] 7 7 7 2 7 7 7 7 2 7 7 7 7 7 7 7 2 2 2 7 7 7 2 7 2 7 7 7 7 7 2 2 7 7 7 7 7
## [6254] 7 2 7 7 7 7
pc_cluster_2$centers
## price_scal hd_scal ram_scal screen_scal ads_scal trend_scal
## 1 1.1319544 1.87953602 1.98907776 0.2311906 -0.25689222 0.7187634
## 2 -0.8059027 0.25714110 -0.30778330 -0.3149394 -0.87042147 1.1901757
## 3 0.7831510 0.15180128 0.43768789 -0.1940665 0.68940235 -0.3418194
## 4 0.2236210 -0.71189090 -0.31533681 -0.3865596 -1.32026778 -1.5488315
## 5 -0.6789505 -0.75153560 -0.72614567 -0.4595027 0.68458066 -0.3545347
## 6 0.6134885 0.01471083 -0.05422796 2.6419582 0.01787975 0.1715903
## 7 0.4955588 2.47621810 2.03433515 0.8875044 -1.89584520 1.9180961
pc_cluster_2$size
## [1] 445 1069 1397 622 1950 543 233
pc_cluster_2$size
## [1] 445 1069 1397 622 1950 543 233
center <-pc_cluster_2$centers
center
## price_scal hd_scal ram_scal screen_scal ads_scal trend_scal
## 1 1.1319544 1.87953602 1.98907776 0.2311906 -0.25689222 0.7187634
## 2 -0.8059027 0.25714110 -0.30778330 -0.3149394 -0.87042147 1.1901757
## 3 0.7831510 0.15180128 0.43768789 -0.1940665 0.68940235 -0.3418194
## 4 0.2236210 -0.71189090 -0.31533681 -0.3865596 -1.32026778 -1.5488315
## 5 -0.6789505 -0.75153560 -0.72614567 -0.4595027 0.68458066 -0.3545347
## 6 0.6134885 0.01471083 -0.05422796 2.6419582 0.01787975 0.1715903
## 7 0.4955588 2.47621810 2.03433515 0.8875044 -1.89584520 1.9180961
library(tidyr)
## Warning: package 'tidyr' was built under R version 4.1.3
# create dataset with the cluster number
cluster <- c(1: 7)
center_df <- data.frame(cluster, center)
# Reshape the data
center_reshape <- gather(center_df, features, values, price_scal: trend_scal)
head(center_reshape)
## cluster features values
## 1 1 price_scal 1.1319544
## 2 2 price_scal -0.8059027
## 3 3 price_scal 0.7831510
## 4 4 price_scal 0.2236210
## 5 5 price_scal -0.6789505
## 6 6 price_scal 0.6134885
library(RColorBrewer)
# Create the palette
hm.palette <-colorRampPalette(rev(brewer.pal(10, 'RdYlGn')),space='Lab')
# Plot the heat map
library(ggplot2)
ggplot(data = center_reshape, aes(x = features, y = cluster, fill = values)) +
scale_y_continuous(breaks = seq(1, 7, by = 1)) +
geom_tile() +
coord_equal() +
scale_fill_gradientn(colours = hm.palette(90)) +
theme_classic()
