#Data Analisis Faktor Kesejahteraan Sosial
library(readxl)
Data_AF<- read_excel("Data_AF_Anisa Rahma.xlsx")
print(Data_AF)
## # A tibble: 23 × 6
## RLS `Melek Huruf` HLS Kemiskinan Pengangguran `Angka Harapan Hidup`
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 9.73 98.6 14.1 17.9 6 65.5
## 2 8.69 97.5 14.3 24.3 6.88 67.6
## 3 8.89 96.7 14.7 30.8 4.82 64.6
## 4 9.92 98 14.3 28.4 5.09 68.5
## 5 8.32 98.8 13.1 62.2 8.07 68.9
## 6 9.87 99.4 14.6 31.5 4.44 69.0
## 7 9.87 98.7 14.6 38.5 6.09 68.2
## 8 10.4 98.8 14.8 58.2 8.28 70.0
## 9 9.02 95.8 14.5 85.9 5.94 67.2
## 10 9.31 99.2 14.9 60.3 4.2 71.5
## # ℹ 13 more rows
#Data Frame
library(REdaS)
## Warning: package 'REdaS' was built under R version 4.4.3
## Loading required package: grid
X1 <- Data_AF$RLS
X2 <- Data_AF$`Melek Huruf`
X3 <- Data_AF$HLS
X4 <- Data_AF$Kemiskinan
X5 <- Data_AF$Pengangguran
X6 <- Data_AF$`Angka Harapan Hidup`
data_pen <- data.frame(X1,X2,X3,X4,X5,X6)
data_pen
## X1 X2 X3 X4 X5 X6
## 1 9.73 98.59 14.08 17.86 6.00 65.48
## 2 8.69 97.47 14.34 24.33 6.88 67.65
## 3 8.89 96.70 14.69 30.78 4.82 64.64
## 4 9.92 98.00 14.26 28.42 5.09 68.48
## 5 8.32 98.77 13.06 62.16 8.07 68.94
## 6 9.87 99.38 14.61 31.50 4.44 69.05
## 7 9.87 98.69 14.63 38.46 6.09 68.19
## 8 10.35 98.82 14.75 58.18 8.28 69.99
## 9 9.02 95.81 14.49 85.87 5.94 67.15
## 10 9.31 99.23 14.86 60.29 4.20 71.48
## 11 8.73 98.88 14.73 107.02 7.08 69.01
## 12 8.68 96.78 13.66 24.00 4.12 65.30
## 13 8.41 95.68 14.08 18.09 2.70 65.77
## 14 9.04 98.05 13.96 38.25 7.38 69.87
## 15 8.95 97.78 14.16 29.63 5.84 69.45
## 16 8.72 95.52 14.01 12.13 3.12 67.40
## 17 10.01 99.15 13.71 27.93 2.61 69.48
## 18 9.53 97.46 14.98 30.41 4.40 70.41
## 19 13.03 99.61 17.81 19.90 8.62 71.79
## 20 11.19 99.34 14.40 5.13 4.01 70.79
## 21 11.14 99.39 15.64 19.41 7.85 69.63
## 22 11.12 99.42 15.27 23.03 9.15 71.87
## 23 8.22 98.07 14.81 14.06 5.75 64.30
#Uji barlett's testof sphericity
bart_spher(data_pen)
## Bartlett's Test of Sphericity
##
## Call: bart_spher(x = data_pen)
##
## X2 = 55.147
## df = 15
## p-value < 2.22e-16
Karena p_value < 0.05 ini berarti terdapat korelasi signifikan antara variabel (uji Bartlett signifikan)
#Uji KMO dan MSA
KMOS(data_pen)
##
## Kaiser-Meyer-Olkin Statistics
##
## Call: KMOS(x = data_pen)
##
## Measures of Sampling Adequacy (MSA):
## X1 X2 X3 X4 X5 X6
## 0.5959371 0.7606051 0.6253395 0.2569591 0.7459011 0.7082079
##
## KMO-Criterion: 0.6383229
Karena kmo_criterion > 0.5 ini berarti data ini cocok untuk analisis faktor karena > 0.5
Karena skala variabel atau skala pengukurannya berbeda maka menggunakan matriks korelasi. Agar skala pengukuran sama maka dilakukan standarisasi data terlebih dahulu.
#Standarisasi Data, karena skala pengukuran berbeda
z <- data.frame(scale(data_pen))
z
## X1 X2 X3 X4 X5 X6
## 1 0.11393812 0.37431941 -0.53766202 -0.7038710 0.126047363 -1.35566868
## 2 -0.77963562 -0.50386529 -0.24930158 -0.4394085 0.584896039 -0.39018033
## 3 -0.60779452 -1.10761728 0.13887593 -0.1757634 -0.489226997 -1.72940611
## 4 0.27718717 -0.08829575 -0.33802787 -0.2722289 -0.348443881 -0.02089215
## 5 -1.09754167 0.51545624 -1.66892220 1.1069005 1.205384589 0.18377358
## 6 0.23422690 0.99375327 0.05014964 -0.1463332 -0.687366198 0.23271539
## 7 0.23422690 0.45272876 0.07233121 0.1381582 0.172975069 -0.14992055
## 8 0.64664555 0.55466092 0.20542065 0.9442172 1.314882568 0.65094537
## 9 -0.49609780 -1.80546049 -0.08293979 2.0760516 0.094762226 -0.61264308
## 10 -0.24692820 0.87613925 0.32741929 1.0304639 -0.812506745 1.31388437
## 11 -0.74526740 0.60170653 0.18323907 2.9405622 0.689179829 0.21491837
## 12 -0.78822768 -1.04488980 -1.00347504 -0.4528973 -0.854220261 -1.43575528
## 13 -1.02021317 -1.90739264 -0.53766202 -0.6944697 -1.594635170 -1.22664029
## 14 -0.47891369 -0.04909107 -0.67075145 0.1295744 0.845605514 0.59755430
## 15 -0.55624219 -0.26079631 -0.44893573 -0.2227699 0.042620332 0.41068559
## 16 -0.75385946 -2.03284760 -0.61529752 -0.9380859 -1.375639211 -0.50141170
## 17 0.35451567 0.81341177 -0.94802111 -0.2922577 -1.641562875 0.42403336
## 18 -0.05790298 -0.51170623 0.46050873 -0.1908872 -0.708222956 0.83781408
## 19 2.94931636 1.17409477 3.59920119 -0.6204856 1.492165011 1.45181128
## 20 1.36837819 0.96238953 -0.18275687 -1.2242124 -0.911576346 1.00688577
## 21 1.32541792 1.00159420 1.19250061 -0.6405145 1.090672420 0.49077218
## 22 1.30823381 1.02511701 0.78214152 -0.4925462 1.768517054 1.48740532
## 23 -1.18346222 -0.03340920 0.27196536 -0.8591968 -0.004307374 -1.88068079
Setelah dilakukan standarisasi, maka kita bisa lanjut mencari matriks korelasi.
#Mencari Korelasi
cor<- cor(z)
cor
## X1 X2 X3 X4 X5 X6
## X1 1.0000000 0.62378740 0.74684256 -0.27400191 0.3677884 0.6401392
## X2 0.6237874 1.00000000 0.37221030 0.03200511 0.4585452 0.6365419
## X3 0.7468426 0.37221030 1.00000000 -0.09890932 0.4249885 0.4103263
## X4 -0.2740019 0.03200511 -0.09890932 1.00000000 0.2747883 0.1373920
## X5 0.3677884 0.45854522 0.42498847 0.27478833 1.0000000 0.3589229
## X6 0.6401392 0.63654185 0.41032628 0.13739205 0.3589229 1.0000000
#Menentukan Nilai Eigen dan Vektor Eigen
eig <- eigen(cor)
eig
## eigen() decomposition
## $values
## [1] 3.0416998 1.2854030 0.7257664 0.5215432 0.2979186 0.1276688
##
## $vectors
## [,1] [,2] [,3] [,4] [,5] [,6]
## [1,] -0.508624092 -0.30921544 -0.01079228 -0.1389775 -0.02456661 0.79098205
## [2,] -0.458717286 0.08902052 0.43416161 0.4375046 -0.60273922 -0.19609358
## [3,] -0.437126328 -0.19682872 -0.55496996 -0.4348389 -0.26529719 -0.45024428
## [4,] 0.002521485 0.82409313 -0.01796085 -0.4285017 -0.28208948 0.23948569
## [5,] -0.365171264 0.40337433 -0.49644603 0.5602622 0.37801591 0.02628039
## [6,] -0.454361253 0.12601297 0.50657114 -0.3204414 0.58587440 -0.27409988
#Menentukan Faktor Loading
faktor_loading <- eig$vectors %*% diag(sqrt(eig$values))
faktor_loading
## [,1] [,2] [,3] [,4] [,5] [,6]
## [1,] -0.887064308 -0.3505749 -0.009194151 -0.1003667 -0.01340893 0.282624019
## [2,] -0.800024494 0.1009276 0.369870636 0.3159568 -0.32898667 -0.070065757
## [3,] -0.762368850 -0.2231558 -0.472789600 -0.3140317 -0.14480431 -0.160875774
## [4,] 0.004397589 0.9343207 -0.015301191 -0.3094551 -0.15396987 0.085570094
## [5,] -0.636875837 0.4573281 -0.422931937 0.4046099 0.20632836 0.009390188
## [6,] -0.792427367 0.1428680 0.431557712 -0.2314162 0.31978152 -0.097938011
#Menentukan Jumlah Faktor
#Dengan Nilai Eigen > 1
eig$values
## [1] 3.0416998 1.2854030 0.7257664 0.5215432 0.2979186 0.1276688
#Dengan Scree Plot
scree_plot <- function(z) {
eigen.cor <- eigen(cor(z))
eigen.values <- eigen.cor$values
component.number <- 1:length(eigen.values)
plot(component.number, eigen.values, type = "b", main = "Scree Plot",
xlab = "Component Number", ylab = "Eigenvalue", col = "blue", pch = 19)
cat("\nScree Plot:\nLihat grafik yang ditampilkan!\n")
}
scree_plot(data_pen) # Jalankan fungsi
##
## Scree Plot:
## Lihat grafik yang ditampilkan!
Untuk menentukan jumlah analisis faktor,bisa menggunakan nilai eigen > 1. Pada data diperoleh untuk nilai eigen > 1 ada dua yaitu 3.041 dan 1.285. Ini berarti jika dilihat menggunakan nilai eigen ada dua analisis faktor.
library(psych)
## Warning: package 'psych' was built under R version 4.4.3
# Analisis faktor dengan 2 faktor dan rotasi varimax
fa_result <- fa(z, nfactors = 2, rotate = "varimax", scores = TRUE)
## Warning in fac(r = r, nfactors = nfactors, n.obs = n.obs, rotate = rotate, : An
## ultra-Heywood case was detected. Examine the results carefully
# Faktor Score
factor_scores <- fa_result$scores
print("Factor Scores:")
## [1] "Factor Scores:"
print(factor_scores)
## MR1 MR2
## [1,] 0.09107642 -0.82570050
## [2,] -0.80605405 0.29292764
## [3,] -0.82981165 -0.47166776
## [4,] 0.22602126 -0.53880565
## [5,] -0.43540977 1.47601665
## [6,] 0.17095947 -0.05434180
## [7,] 0.31138767 -0.01524784
## [8,] 1.05268949 0.52491695
## [9,] -0.17071300 0.61917343
## [10,] -0.14311429 1.20913234
## [11,] -0.04608855 2.30543311
## [12,] -0.94185381 -0.66910118
## [13,] -1.46210298 -0.78530387
## [14,] -0.24331351 0.66697671
## [15,] -0.55792043 0.35003860
## [16,] -1.20152927 -0.89303297
## [17,] 0.27406131 -0.64613700
## [18,] -0.30038299 0.05585471
## [19,] 2.63555572 -0.86309746
## [20,] 1.11816654 -1.35356942
## [21,] 1.26425794 -0.47424635
## [22,] 1.44163807 -0.02593118
## [23,] -1.44751959 0.11571285
# Faktor Loading
print("Factor Loadings:")
## [1] "Factor Loadings:"
print(fa_result$loadings)
##
## Loadings:
## MR1 MR2
## X1 0.950 -0.352
## X2 0.722 0.134
## X3 0.677 -0.129
## X4 0.746
## X5 0.541 0.350
## X6 0.718 0.169
##
## MR1 MR2
## SS loadings 2.690 0.866
## Proportion Var 0.448 0.144
## Cumulative Var 0.448 0.593
# Komunalitas
print("Communalities:")
## [1] "Communalities:"
print(fa_result$communality)
## X1 X2 X3 X4 X5 X6
## 1.0257396 0.5387761 0.4755225 0.5567027 0.4148333 0.5446518
Interpretasi Berdasarkan analisis faktor, Faktor 1 (mencakup variabel tentang pendidikan, kesejahteraan, dan ketenagakerjaan) terdiri dari variabel RLS,Melek Huruf, HLS, Pengangguran, Angka Harapan Hidup dengan SS Loadings 2.700, menjelaskan 44.8% varians. Faktor 2 (kemiskinan) hanya mencakup variabel kemiskinan, dengan SS Loadings 0.883, menjelaskan 14.7% varians. Secara kumulatif, kedua faktor ini menjelaskan 59.5% dari total varians, menunjukkan bahwa pendidikan dan ketenagakerjaan lebih dominan, meskipun kemiskinan tetap menjadi faktor penting dalam kondisi sosial ekonomi di Aceh.