Tujuan

Tujuan utama penelitian ini untuk mengidentifikasi kemiripan dan perbedaan pola pada indeks kebahagiaan antar provinsi di 2021 menggunakan analisis DMS

Input Data

library(openxlsx)
## Warning: package 'openxlsx' was built under R version 4.4.2
library("factoextra")
## Warning: package 'factoextra' was built under R version 4.4.3
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 4.4.3
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
library(smacof)
## Warning: package 'smacof' was built under R version 4.4.3
## Loading required package: plotrix
## Warning: package 'plotrix' was built under R version 4.4.3
## Loading required package: colorspace
## Warning: package 'colorspace' was built under R version 4.4.2
## Loading required package: e1071
## Warning: package 'e1071' was built under R version 4.4.2
## 
## Attaching package: 'e1071'
## The following object is masked from 'package:ggplot2':
## 
##     element
## 
## Attaching package: 'smacof'
## The following object is masked from 'package:base':
## 
##     transform

data yg digunakan menggunakan Data BPS mengenai indeks Kebahagiaan 2021 di Indonesia Dimana data terdiri dari sejumlah objek (provinsi) dan beberapa indikator numerik. Dari beberapa indikator Numerik mengukur aspek berbeda dari satu konsep untuk melihat pola kedekatan antar objek. Oleh karena itu Metode DMS dipilih untuk memvisualisasikan kemiripan

data <- read.xlsx("C:/Users/Kamal Aldimas/Downloads/Dimensi Makna Hidup Indeks Kebahagiaan, 2021.xlsx")
data
##             38.Province                                     X2
## 1                  <NA> Dimensi Makna Hidup Indeks Kebahagiaan
## 2                  <NA>                            Kemandirian
## 3                  <NA>                                   2021
## 4                  ACEH                                   75.3
## 5        SUMATERA UTARA                                  74.58
## 6        SUMATERA BARAT                                  74.41
## 7                  RIAU                                  74.75
## 8                 JAMBI                                  75.21
## 9      SUMATERA SELATAN                                  75.01
## 10             BENGKULU                                  70.89
## 11              LAMPUNG                                  73.64
## 12 KEP. BANGKA BELITUNG                                  73.71
## 13            KEP. RIAU                                  77.02
## 14          DKI JAKARTA                                  73.48
## 15           JAWA BARAT                                  72.94
## 16          JAWA TENGAH                                  72.59
## 17        DI YOGYAKARTA                                  72.27
## 18           JAWA TIMUR                                  73.98
## 19               BANTEN                                  69.91
## 20                 BALI                                  73.07
## 21  NUSA TENGGARA BARAT                                  70.83
## 22  NUSA TENGGARA TIMUR                                  73.11
## 23     KALIMANTAN BARAT                                  74.13
## 24    KALIMANTAN TENGAH                                  74.01
## 25   KALIMANTAN SELATAN                                  73.76
## 26     KALIMANTAN TIMUR                                  75.49
## 27     KALIMANTAN UTARA                                  76.21
## 28       SULAWESI UTARA                                  77.17
## 29      SULAWESI TENGAH                                   76.8
## 30     SULAWESI SELATAN                                  74.02
## 31    SULAWESI TENGGARA                                  75.89
## 32            GORONTALO                                  76.45
## 33       SULAWESI BARAT                                  74.09
## 34               MALUKU                                  80.33
## 35         MALUKU UTARA                                  80.67
## 36          PAPUA BARAT                                  77.26
## 37     PAPUA BARAT DAYA                                      -
## 38                PAPUA                                  73.71
## 39        PAPUA SELATAN                                      -
## 40         PAPUA TENGAH                                      -
## 41     PAPUA PEGUNUNGAN                                      -
## 42            INDONESIA                                  73.56
##                       X3                X4                                 X5
## 1                   <NA>              <NA>                               <NA>
## 2  Penguasaan Lingkungan Pengembangan Diri Hubungan Positif Dengan Orang Lain
## 3                   2021              2021                               2021
## 4                  74.71             67.18                              73.07
## 5                   74.8              63.7                              72.04
## 6                  74.43             67.45                              72.72
## 7                   75.3             66.76                              72.54
## 8                  76.46             68.36                              74.54
## 9                  75.42              67.1                              72.69
## 10                 71.67             62.96                              69.39
## 11                 74.69             67.57                              72.49
## 12                 74.78             62.29                              72.48
## 13                 78.53              71.2                              73.83
## 14                 74.39              70.2                              71.14
## 15                 73.81             66.91                               71.5
## 16                 74.08             62.45                              70.76
## 17                 74.26             65.72                               72.1
## 18                 74.68             65.32                              72.28
## 19                 70.72             65.55                              68.83
## 20                 74.07              69.2                              71.41
## 21                 72.84             60.64                              72.45
## 22                 74.98             63.48                              73.51
## 23                 75.36             67.66                              73.75
## 24                 74.67             65.97                              73.23
## 25                  75.4             69.21                              73.17
## 26                 76.96             71.58                              74.34
## 27                  77.8             74.62                              75.72
## 28                 78.58             71.63                              78.08
## 29                 78.62             70.59                               77.7
## 30                 75.21             67.05                              73.45
## 31                 77.08             69.27                              75.77
## 32                 77.92             62.98                              75.56
## 33                 76.87             71.03                              75.37
## 34                 80.84             71.46                              78.51
## 35                 81.39             70.49                              79.38
## 36                 78.47             66.34                              75.55
## 37                     -                 -                                  -
## 38                 73.47             65.37                              73.42
## 39                     -                 -                                  -
## 40                     -                 -                                  -
## 41                     -                 -                                  -
## 42                 74.52             66.09                              72.16
##              X6              X7                          X8
## 1          <NA>            <NA>                        <NA>
## 2  Tujuan Hidup Penerimaan Diri Dimensi Makna Hidup (Total)
## 3          2021            2021                        2021
## 4         74.21           77.25                       73.74
## 5         74.38           75.65                       72.71
## 6         73.75           76.05                       73.25
## 7         75.76           76.98                       73.84
## 8         78.72           78.42                       75.44
## 9         76.74           76.76                       74.11
## 10        73.04           72.31                       70.21
## 11        76.46           77.13                       73.81
## 12         74.9           77.68                       72.85
## 13        79.65           78.82                       76.68
## 14        75.86           75.88                        73.6
## 15        74.62            75.2                       72.63
## 16        74.77           76.08                          72
## 17        76.36           75.43                       72.86
## 18        75.65           76.21                       73.19
## 19        72.59            73.4                       70.28
## 20        74.25            74.9                       72.92
## 21        73.73           75.46                       71.18
## 22        73.79              75                       72.48
## 23        75.57           76.85                       74.02
## 24        77.57           77.85                       74.05
## 25        76.91           78.41                       74.61
## 26        78.52           77.84                       75.91
## 27        79.48           78.26                        77.1
## 28        79.71           79.37                       77.54
## 29        79.14           80.18                        77.3
## 30        75.77           77.41                       73.96
## 31        76.49           78.52                       75.63
## 32        79.05           80.55                       75.67
## 33        79.71           79.34                       76.19
## 34        81.71           80.89                       79.12
## 35        81.57           81.88                       79.41
## 36         79.3           80.02                       76.37
## 37            -               -                           -
## 38        71.73           74.14                       72.07
## 39            -               -                           -
## 40            -               -                           -
## 41            -               -                           -
## 42        75.33           76.15                       73.12

data terdiri dari 38 provinsi dan 8 variabel yg dimana ada Kemandirian, Penguasaan Lingkungan, Pengembangan Diri, Hubungan Positif Dengan Orang Lain, Tujuan Hidup, Penerimaan Diri, dan Dimensi Makna Hidup (Total)

Eksplorasi Data

eksplorasi struktur data

dim(data)
## [1] 42  8
head(data)
##      38.Province                                     X2                    X3
## 1           <NA> Dimensi Makna Hidup Indeks Kebahagiaan                  <NA>
## 2           <NA>                            Kemandirian Penguasaan Lingkungan
## 3           <NA>                                   2021                  2021
## 4           ACEH                                   75.3                 74.71
## 5 SUMATERA UTARA                                  74.58                  74.8
## 6 SUMATERA BARAT                                  74.41                 74.43
##                  X4                                 X5           X6
## 1              <NA>                               <NA>         <NA>
## 2 Pengembangan Diri Hubungan Positif Dengan Orang Lain Tujuan Hidup
## 3              2021                               2021         2021
## 4             67.18                              73.07        74.21
## 5              63.7                              72.04        74.38
## 6             67.45                              72.72        73.75
##                X7                          X8
## 1            <NA>                        <NA>
## 2 Penerimaan Diri Dimensi Makna Hidup (Total)
## 3            2021                        2021
## 4           77.25                       73.74
## 5           75.65                       72.71
## 6           76.05                       73.25
str(data)
## 'data.frame':    42 obs. of  8 variables:
##  $ 38.Province: chr  NA NA NA "ACEH" ...
##  $ X2         : chr  "Dimensi Makna Hidup Indeks Kebahagiaan" "Kemandirian" "2021" "75.3" ...
##  $ X3         : chr  NA "Penguasaan Lingkungan" "2021" "74.71" ...
##  $ X4         : chr  NA "Pengembangan Diri" "2021" "67.18" ...
##  $ X5         : chr  NA "Hubungan Positif Dengan Orang Lain" "2021" "73.07" ...
##  $ X6         : chr  NA "Tujuan Hidup" "2021" "74.21" ...
##  $ X7         : chr  NA "Penerimaan Diri" "2021" "77.25" ...
##  $ X8         : chr  NA "Dimensi Makna Hidup (Total)" "2021" "73.74" ...

eksplorasi objek

unique(data[[1]])
##  [1] NA                     "ACEH"                 "SUMATERA UTARA"      
##  [4] "SUMATERA BARAT"       "RIAU"                 "JAMBI"               
##  [7] "SUMATERA SELATAN"     "BENGKULU"             "LAMPUNG"             
## [10] "KEP. BANGKA BELITUNG" "KEP. RIAU"            "DKI JAKARTA"         
## [13] "JAWA BARAT"           "JAWA TENGAH"          "DI YOGYAKARTA"       
## [16] "JAWA TIMUR"           "BANTEN"               "BALI"                
## [19] "NUSA TENGGARA BARAT"  "NUSA TENGGARA TIMUR"  "KALIMANTAN BARAT"    
## [22] "KALIMANTAN TENGAH"    "KALIMANTAN SELATAN"   "KALIMANTAN TIMUR"    
## [25] "KALIMANTAN UTARA"     "SULAWESI UTARA"       "SULAWESI TENGAH"     
## [28] "SULAWESI SELATAN"     "SULAWESI TENGGARA"    "GORONTALO"           
## [31] "SULAWESI BARAT"       "MALUKU"               "MALUKU UTARA"        
## [34] "PAPUA BARAT"          "PAPUA BARAT DAYA"     "PAPUA"               
## [37] "PAPUA SELATAN"        "PAPUA TENGAH"         "PAPUA PEGUNUNGAN"    
## [40] "INDONESIA"
length(unique(data[[1]]))
## [1] 40

Disini terdapat data missing value dan memiliki data objek “indonesia” yg dimana itu mencakup seluruh provinsi yang ada di Indonesia oleh karena itu perlu di hapus keduanya

data cleaning

Hapus Baris yg tidak relevan

data_clean <- data[!is.na(data[[1]]) & 
                       data[[1]] != "INDONESIA", ]
dim(data_clean)
## [1] 38  8
head(data_clean[[1]])
## [1] "ACEH"             "SUMATERA UTARA"   "SUMATERA BARAT"   "RIAU"            
## [5] "JAMBI"            "SUMATERA SELATAN"
str(data_clean)
## 'data.frame':    38 obs. of  8 variables:
##  $ 38.Province: chr  "ACEH" "SUMATERA UTARA" "SUMATERA BARAT" "RIAU" ...
##  $ X2         : chr  "75.3" "74.58" "74.41" "74.75" ...
##  $ X3         : chr  "74.71" "74.8" "74.43" "75.3" ...
##  $ X4         : chr  "67.18" "63.7" "67.45" "66.76" ...
##  $ X5         : chr  "73.07" "72.04" "72.72" "72.54" ...
##  $ X6         : chr  "74.21" "74.38" "73.75" "75.76" ...
##  $ X7         : chr  "77.25" "75.65" "76.05" "76.98" ...
##  $ X8         : chr  "73.74" "72.71" "73.25" "73.84" ...

Konversi variabel ke numerik

provinsi <- trimws(data_clean[[1]])
provinsi <- make.unique(provinsi)

data_num <- data_clean[, -1]

data_num <- data.frame(
  lapply(data_num, function(x) {
    x <- gsub(",", ".", x)
    as.numeric(x)
  })
)
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning in FUN(X[[i]], ...): NAs introduced by coercion
rownames(data_num) <- provinsi

Penanganan missing value

colSums(is.na(data_num))
## X2 X3 X4 X5 X6 X7 X8 
##  4  4  4  4  4  4  4
data_num_imp <- data_num
data_num_imp[] <- lapply(data_num_imp, function(x) {
  x[is.na(x)] <- mean(x, na.rm = TRUE)
  x
})

any(is.na(data_num_imp))
## [1] FALSE
summary(data_num_imp)
##        X2              X3              X4              X5       
##  Min.   :69.91   Min.   :70.72   Min.   :60.64   Min.   :68.83  
##  1st Qu.:73.66   1st Qu.:74.49   1st Qu.:65.59   1st Qu.:72.46  
##  Median :74.50   Median :75.33   Median :67.33   Median :73.44  
##  Mean   :74.61   Mean   :75.68   Mean   :67.33   Mean   :73.61  
##  3rd Qu.:75.44   3rd Qu.:76.94   3rd Qu.:69.25   3rd Qu.:74.49  
##  Max.   :80.67   Max.   :81.39   Max.   :74.62   Max.   :79.38  
##        X6              X7              X8       
##  Min.   :71.73   Min.   :72.31   Min.   :70.21  
##  1st Qu.:74.66   1st Qu.:75.92   1st Qu.:72.88  
##  Median :76.47   Median :77.24   Median :74.03  
##  Mean   :76.51   Mean   :77.24   Mean   :74.32  
##  3rd Qu.:78.67   3rd Qu.:78.42   3rd Qu.:75.66  
##  Max.   :81.71   Max.   :81.88   Max.   :79.41

Standarisasi data dan matriks Jarak

data_scaled <- scale(data_num_imp) 
dist_matrix <- dist(data_scaled, method = "euclidean")

Memilih banyak Gerombol

fviz_nbclust(data_num_imp, FUNcluster = kmeans, method = "silhouette")

fviz_nbclust(data_num_imp, FUNcluster = kmeans, method = "wss")

untuk kriteria koefisien silhoutte dan WSS gerombol terbaik yg dipilih ada k=2

eksekusi MDS

mds_result <- cmdscale(dist_matrix, k = 2, eig = TRUE)

mds_coord <- as.data.frame(mds_result$points)
colnames(mds_coord) <- c("Dimensi1", "Dimensi2")

mds_coord
##                           Dimensi1      Dimensi2
## ACEH                 -6.265481e-01 -2.138679e-02
## SUMATERA UTARA       -1.701302e+00 -7.324482e-01
## SUMATERA BARAT       -1.255417e+00  3.121218e-01
## RIAU                 -5.334955e-01 -4.818931e-02
## JAMBI                 1.276041e+00  2.442367e-02
## SUMATERA SELATAN     -2.454651e-01  5.875955e-02
## BENGKULU             -4.737575e+00  9.846295e-02
## LAMPUNG              -6.412619e-01  2.968712e-01
## KEP. BANGKA BELITUNG -1.432087e+00 -1.389908e+00
## KEP. RIAU             2.573359e+00  6.569147e-01
## DKI JAKARTA          -1.069366e+00  1.378350e+00
## JAWA BARAT           -2.021725e+00  5.019240e-01
## JAWA TENGAH          -2.508386e+00 -8.832304e-01
## DI YOGYAKARTA        -1.711119e+00  1.059566e-01
## JAWA TIMUR           -1.243794e+00 -2.751510e-01
## BANTEN               -4.788961e+00  8.942340e-01
## BALI                 -1.810740e+00  1.207800e+00
## NUSA TENGGARA BARAT  -3.364086e+00 -1.309883e+00
## NUSA TENGGARA TIMUR  -1.959197e+00 -7.555409e-01
## KALIMANTAN BARAT     -3.650115e-01  1.757135e-01
## KALIMANTAN TENGAH    -2.529557e-01 -3.459222e-01
## KALIMANTAN SELATAN    2.359245e-01  5.254420e-01
## KALIMANTAN TIMUR      1.634451e+00  1.033442e+00
## KALIMANTAN UTARA      2.883235e+00  1.697169e+00
## SULAWESI UTARA        3.634845e+00  3.588038e-01
## SULAWESI TENGAH       3.431750e+00 -1.346855e-02
## SULAWESI SELATAN     -3.951161e-01 -3.745197e-02
## SULAWESI TENGGARA     1.505968e+00  7.647669e-02
## GORONTALO             1.917908e+00 -2.112203e+00
## SULAWESI BARAT        2.009385e+00  7.021740e-01
## MALUKU                5.553515e+00 -2.363530e-01
## MALUKU UTARA          5.985194e+00 -7.823501e-01
## PAPUA BARAT           2.547029e+00 -1.114885e+00
## PAPUA BARAT DAYA     -4.092146e-16 -4.843092e-16
## PAPUA                -2.524995e+00 -4.666762e-02
## PAPUA SELATAN        -4.054200e-16 -4.836041e-16
## PAPUA TENGAH         -4.054200e-16 -4.836041e-16
## PAPUA PEGUNUNGAN     -4.054200e-16 -4.836041e-16

#Visualisasi MDS

plot(mds_coord$Dimensi1, mds_coord$Dimensi2,
     pch = 19, col = "blue",
     main = "MDS Provinsi Berdasarkan Dimensi Makna Hidup (2021)",
     xlab = "Dimensi 1",
     ylab = "Dimensi 2")

text(mds_coord$Dimensi1, mds_coord$Dimensi2,
     labels = rownames(mds_coord),
     pos = 3, cex = 0.7)

Peta MDS menunjukkan adanya pola kedekatan antar provinsi berdasarkan dimensi makna hidup. Provinsi yang berdekatan memiliki karakteristik makna hidup yang serupa, sedangkan provinsi yang berjauhan menunjukkan perbedaan yang lebih besar. Dimensi pertama menjadi sumbu utama pemisah antar provinsi, sementara dimensi kedua berperan sebagai dimensi pelengkap.

Stress MDS

mds_smacof <- mds(dist_matrix)
mds_smacof$stresstol
## NULL

Berdasarkan kriteria Kruskal: Stress < 0.05 → sangat baik 0.05 ≤ Stress < 0.10 → baik 0.10 – 0.20 → cukup 0.20 → buruk

Hasil analisis MDS dua dimensi menghasilkan nilai stress sebesar 0.056, yang termasuk dalam kategori baik. Hal ini menunjukkan bahwa representasi dua dimensi mampu menggambarkan struktur jarak antar provinsi secara memadai.

Proporsi Ragam Dimensi

eig <- mds_result$eig
proporsi_ragam <- eig / sum(eig)

proporsi_ragam[1:2]
## [1] 0.85569444 0.08511402

Berdasarkan eigenvalue hasil MDS, Dimensi 1 mampu menjelaskan 85,57% variasi data dan Dimensi 2 menjelaskan 8,51%. Secara kumulatif, dua dimensi tersebut telah menjelaskan lebih dari 94% variasi data, sehingga penggunaan dua dimensi dianggap sangat memadai.

Kesimpulan

Berdasarkan hasil analisis Multi-Dimensional Scaling (MDS) terhadap data Dimensi Makna Hidup Indeks Kebahagiaan 2021, diperoleh bahwa provinsi di Indonesia memiliki pola kedekatan yang berbeda-beda berdasarkan karakteristik makna hidup masyarakatnya. Pemetaan dua dimensi mampu merepresentasikan struktur kedekatan antar provinsi dengan baik, yang ditunjukkan oleh nilai stress sebesar 0,056 dan proporsi ragam yang dijelaskan lebih dari 94%. Provinsi yang berada pada posisi berdekatan pada peta MDS memiliki profil dimensi makna hidup yang relatif serupa, sedangkan provinsi yang terpisah jauh menunjukkan karakteristik yang berbeda. Dengan demikian, metode MDS efektif digunakan untuk memvisualisasikan dan memahami pola kemiripan antar provinsi berdasarkan indikator makna hidup secara ringkas dan informatif.