Load Data Dulu Ngab
library(readxl)
## Warning: package 'readxl' was built under R version 4.0.4
data <- read_excel("D:/STIS/3SE3/00. PKL/Hasil Kategorisasi Dengan K Means Clustering.xls")
data
## # A tibble: 214 x 3
## NoResponden TotalSkorKepuasan Kategori
## <dbl> <dbl> <chr>
## 1 1 238 Moderat
## 2 2 208 Tidak Puas
## 3 3 266 Sangat Puas
## 4 4 237 Moderat
## 5 5 228 Moderat
## 6 6 290 Sangat Puas
## 7 7 190 Tidak Puas
## 8 8 214 Tidak Puas
## 9 9 231 Moderat
## 10 10 232 Moderat
## # ... with 204 more rows
Load semua Library yang diperlukan
library(cluster)
## Warning: package 'cluster' was built under R version 4.0.4
library(factoextra)
## Warning: package 'factoextra' was built under R version 4.0.4
## Loading required package: ggplot2
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
library(dplyr)
##
## 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
DataKategori <- kmeans(data$TotalSkorKepuasan,5,nstart=25)
DataKategori
## K-means clustering with 5 clusters of sizes 59, 86, 6, 41, 22
##
## Cluster means:
## [,1]
## 1 249.2542
## 2 228.3837
## 3 143.3333
## 4 203.8049
## 5 276.3182
##
## Clustering vector:
## [1] 2 4 5 2 2 5 4 4 2 2 1 2 5 5 2 1 2 5 2 1 1 4 1 3 2 4 2 4 2 2 1 1 2 4 4 1 2
## [38] 1 1 4 3 1 5 4 5 5 2 1 2 4 3 2 2 2 4 2 2 1 1 2 4 2 2 5 4 2 4 1 5 2 5 2 1 4
## [75] 4 1 1 2 2 1 5 2 5 1 2 2 2 4 2 2 1 5 2 2 2 2 1 2 2 1 2 1 1 2 2 4 2 2 2 2 1
## [112] 4 2 1 4 2 2 1 4 2 5 2 4 4 2 1 5 2 2 1 2 2 2 3 2 4 4 3 1 2 2 2 1 2 5 1 5 2
## [149] 1 2 2 1 2 4 2 1 2 2 2 4 1 5 5 5 4 1 4 4 1 1 1 4 1 2 2 1 4 1 2 1 2 1 2 1 1
## [186] 2 2 4 2 1 1 2 4 1 1 4 1 2 1 4 3 1 1 5 1 4 2 2 2 4 4 4 1 1
##
## Within cluster sum of squares by cluster:
## [1] 2853.186 2660.337 2365.333 2976.439 2058.773
## (between_SS / total_SS = 91.6 %)
##
## Available components:
##
## [1] "cluster" "centers" "totss" "withinss" "tot.withinss"
## [6] "betweenss" "size" "iter" "ifault"
library(dplyr)
data1 <- data %>% mutate(KategoriKepuasan = DataKategori$cluster)
data1
## # A tibble: 214 x 4
## NoResponden TotalSkorKepuasan Kategori KategoriKepuasan
## <dbl> <dbl> <chr> <int>
## 1 1 238 Moderat 2
## 2 2 208 Tidak Puas 4
## 3 3 266 Sangat Puas 5
## 4 4 237 Moderat 2
## 5 5 228 Moderat 2
## 6 6 290 Sangat Puas 5
## 7 7 190 Tidak Puas 4
## 8 8 214 Tidak Puas 4
## 9 9 231 Moderat 2
## 10 10 232 Moderat 2
## # ... with 204 more rows
x=ifelse(data1$KategoriKepuasan==4,1,ifelse(data1$KategoriKepuasan==2,2,ifelse(data1$KategoriKepuasan==3,3,ifelse(data1$KategoriKepuasan==1,4,5))))
x
## [1] 2 1 5 2 2 5 1 1 2 2 4 2 5 5 2 4 2 5 2 4 4 1 4 3 2 1 2 1 2 2 4 4 2 1 1 4 2
## [38] 4 4 1 3 4 5 1 5 5 2 4 2 1 3 2 2 2 1 2 2 4 4 2 1 2 2 5 1 2 1 4 5 2 5 2 4 1
## [75] 1 4 4 2 2 4 5 2 5 4 2 2 2 1 2 2 4 5 2 2 2 2 4 2 2 4 2 4 4 2 2 1 2 2 2 2 4
## [112] 1 2 4 1 2 2 4 1 2 5 2 1 1 2 4 5 2 2 4 2 2 2 3 2 1 1 3 4 2 2 2 4 2 5 4 5 2
## [149] 4 2 2 4 2 1 2 4 2 2 2 1 4 5 5 5 1 4 1 1 4 4 4 1 4 2 2 4 1 4 2 4 2 4 2 4 4
## [186] 2 2 1 2 4 4 2 1 4 4 1 4 2 4 1 3 4 4 5 4 1 2 2 2 1 1 1 4 4
z=ifelse(data1$KategoriKepuasan==4,"Sangat Tidak Puas",ifelse(data1$KategoriKepuasan==2,"Tidak Puas",ifelse(data1$KategoriKepuasan==3,"Moderat",ifelse(data1$KategoriKepuasan==1,"Puas","Sangat Puas"))))
z
## [1] "Tidak Puas" "Sangat Tidak Puas" "Sangat Puas"
## [4] "Tidak Puas" "Tidak Puas" "Sangat Puas"
## [7] "Sangat Tidak Puas" "Sangat Tidak Puas" "Tidak Puas"
## [10] "Tidak Puas" "Puas" "Tidak Puas"
## [13] "Sangat Puas" "Sangat Puas" "Tidak Puas"
## [16] "Puas" "Tidak Puas" "Sangat Puas"
## [19] "Tidak Puas" "Puas" "Puas"
## [22] "Sangat Tidak Puas" "Puas" "Moderat"
## [25] "Tidak Puas" "Sangat Tidak Puas" "Tidak Puas"
## [28] "Sangat Tidak Puas" "Tidak Puas" "Tidak Puas"
## [31] "Puas" "Puas" "Tidak Puas"
## [34] "Sangat Tidak Puas" "Sangat Tidak Puas" "Puas"
## [37] "Tidak Puas" "Puas" "Puas"
## [40] "Sangat Tidak Puas" "Moderat" "Puas"
## [43] "Sangat Puas" "Sangat Tidak Puas" "Sangat Puas"
## [46] "Sangat Puas" "Tidak Puas" "Puas"
## [49] "Tidak Puas" "Sangat Tidak Puas" "Moderat"
## [52] "Tidak Puas" "Tidak Puas" "Tidak Puas"
## [55] "Sangat Tidak Puas" "Tidak Puas" "Tidak Puas"
## [58] "Puas" "Puas" "Tidak Puas"
## [61] "Sangat Tidak Puas" "Tidak Puas" "Tidak Puas"
## [64] "Sangat Puas" "Sangat Tidak Puas" "Tidak Puas"
## [67] "Sangat Tidak Puas" "Puas" "Sangat Puas"
## [70] "Tidak Puas" "Sangat Puas" "Tidak Puas"
## [73] "Puas" "Sangat Tidak Puas" "Sangat Tidak Puas"
## [76] "Puas" "Puas" "Tidak Puas"
## [79] "Tidak Puas" "Puas" "Sangat Puas"
## [82] "Tidak Puas" "Sangat Puas" "Puas"
## [85] "Tidak Puas" "Tidak Puas" "Tidak Puas"
## [88] "Sangat Tidak Puas" "Tidak Puas" "Tidak Puas"
## [91] "Puas" "Sangat Puas" "Tidak Puas"
## [94] "Tidak Puas" "Tidak Puas" "Tidak Puas"
## [97] "Puas" "Tidak Puas" "Tidak Puas"
## [100] "Puas" "Tidak Puas" "Puas"
## [103] "Puas" "Tidak Puas" "Tidak Puas"
## [106] "Sangat Tidak Puas" "Tidak Puas" "Tidak Puas"
## [109] "Tidak Puas" "Tidak Puas" "Puas"
## [112] "Sangat Tidak Puas" "Tidak Puas" "Puas"
## [115] "Sangat Tidak Puas" "Tidak Puas" "Tidak Puas"
## [118] "Puas" "Sangat Tidak Puas" "Tidak Puas"
## [121] "Sangat Puas" "Tidak Puas" "Sangat Tidak Puas"
## [124] "Sangat Tidak Puas" "Tidak Puas" "Puas"
## [127] "Sangat Puas" "Tidak Puas" "Tidak Puas"
## [130] "Puas" "Tidak Puas" "Tidak Puas"
## [133] "Tidak Puas" "Moderat" "Tidak Puas"
## [136] "Sangat Tidak Puas" "Sangat Tidak Puas" "Moderat"
## [139] "Puas" "Tidak Puas" "Tidak Puas"
## [142] "Tidak Puas" "Puas" "Tidak Puas"
## [145] "Sangat Puas" "Puas" "Sangat Puas"
## [148] "Tidak Puas" "Puas" "Tidak Puas"
## [151] "Tidak Puas" "Puas" "Tidak Puas"
## [154] "Sangat Tidak Puas" "Tidak Puas" "Puas"
## [157] "Tidak Puas" "Tidak Puas" "Tidak Puas"
## [160] "Sangat Tidak Puas" "Puas" "Sangat Puas"
## [163] "Sangat Puas" "Sangat Puas" "Sangat Tidak Puas"
## [166] "Puas" "Sangat Tidak Puas" "Sangat Tidak Puas"
## [169] "Puas" "Puas" "Puas"
## [172] "Sangat Tidak Puas" "Puas" "Tidak Puas"
## [175] "Tidak Puas" "Puas" "Sangat Tidak Puas"
## [178] "Puas" "Tidak Puas" "Puas"
## [181] "Tidak Puas" "Puas" "Tidak Puas"
## [184] "Puas" "Puas" "Tidak Puas"
## [187] "Tidak Puas" "Sangat Tidak Puas" "Tidak Puas"
## [190] "Puas" "Puas" "Tidak Puas"
## [193] "Sangat Tidak Puas" "Puas" "Puas"
## [196] "Sangat Tidak Puas" "Puas" "Tidak Puas"
## [199] "Puas" "Sangat Tidak Puas" "Moderat"
## [202] "Puas" "Puas" "Sangat Puas"
## [205] "Puas" "Sangat Tidak Puas" "Tidak Puas"
## [208] "Tidak Puas" "Tidak Puas" "Sangat Tidak Puas"
## [211] "Sangat Tidak Puas" "Sangat Tidak Puas" "Puas"
## [214] "Puas"
data2<-data %>% mutate(Kategori=z)
data2
## # A tibble: 214 x 3
## NoResponden TotalSkorKepuasan Kategori
## <dbl> <dbl> <chr>
## 1 1 238 Tidak Puas
## 2 2 208 Sangat Tidak Puas
## 3 3 266 Sangat Puas
## 4 4 237 Tidak Puas
## 5 5 228 Tidak Puas
## 6 6 290 Sangat Puas
## 7 7 190 Sangat Tidak Puas
## 8 8 214 Sangat Tidak Puas
## 9 9 231 Tidak Puas
## 10 10 232 Tidak Puas
## # ... with 204 more rows