Analisis ini bertujuan untuk melakukan preprocessing, analisis deskriptif, dan analisis multivariat pada data SUSENAS 2019 menggunakan metode analisis faktor. Dataset mencakup informasi pengeluaran rumah tangga, konsumsi, dan variabel terkait lainnya.
library(foreign)
library(dplyr)
# Baca dataset (file blok43.dbf)
susenas_raw <- read.dbf("D:/Nomor 6 - Multivariat/blok43.dbf")
# Tampilkan struktur awal dataset
str(susenas_raw)
## 'data.frame': 340032 obs. of 18 variables:
## $ RENUM : int 285340 285346 285337 285334 285331 285319 285322 285325 285343 285328 ...
## $ R101 : int 11 11 11 11 11 11 11 11 11 11 ...
## $ R102 : int 1 1 1 1 1 1 1 1 1 1 ...
## $ R105 : int 2 2 2 2 2 2 2 2 2 2 ...
## $ R203 : int 1 1 1 1 1 1 1 1 1 1 ...
## $ R301 : int 4 4 3 2 2 1 5 4 4 3 ...
## $ FOOD : num 1795114 2108331 1810200 1561971 1178940 ...
## $ NONFOOD : num 1183000 868198 1074350 790975 778892 ...
## $ EXPEND : num 2978114 2976530 2884550 2352946 1957832 ...
## $ KAPITA : num 744529 744132 961517 1176473 978916 ...
## $ KALORI_KAP: num 2436 2451 2496 3385 3555 ...
## $ PROTE_KAP : num 63.9 78.4 74.5 109.2 105.3 ...
## $ LEMAK_KAP : num 49.3 48.2 45.3 82.6 59 ...
## $ KARBO_KAP : num 397 404 419 506 612 ...
## $ WERT : num 35.2 36.6 35.5 35 31 ...
## $ WEIND : num 140.8 146.6 106.6 70 61.9 ...
## $ WI1 : int 9976 9976 9976 9976 9976 9976 9976 9976 9976 9976 ...
## $ WI2 : int 177146 60810 99379 141157 123223 154278 90478 206467 24522 279725 ...
## - attr(*, "data_types")= chr [1:18] "N" "N" "N" "N" ...
# Pilih variabel yang relevan
selected_vars <- c("FOOD", "NONFOOD", "EXPEND", "KAPITA",
"KALORI_KAP", "PROTE_KAP", "LEMAK_KAP", "KARBO_KAP")
susenas_cleaned <- susenas_raw %>% select(all_of(selected_vars))
# Hapus data dengan nilai NA
susenas_cleaned <- na.omit(susenas_cleaned)
# Tampilkan ringkasan data setelah pembersihan
summary(susenas_cleaned)
## FOOD NONFOOD EXPEND KAPITA
## Min. : 114857 Min. : 38208 Min. : 182190 Min. : 114515
## 1st Qu.: 1295486 1st Qu.: 857667 1st Qu.: 2277443 1st Qu.: 656004
## Median : 1916079 Median : 1403417 Median : 3429452 Median : 997299
## Mean : 2226646 Mean : 2142186 Mean : 4368832 Mean : 1308460
## 3rd Qu.: 2785714 3rd Qu.: 2393183 3rd Qu.: 5212515 3rd Qu.: 1543848
## Max. :31272857 Max. :193333898 Max. :201254112 Max. :94740858
## KALORI_KAP PROTE_KAP LEMAK_KAP KARBO_KAP
## Min. :1000 Min. : 4.166 Min. : 2.023 Min. : 25.66
## 1st Qu.:1737 1st Qu.: 47.371 1st Qu.: 38.230 1st Qu.: 254.84
## Median :2116 Median : 59.678 Median : 51.136 Median : 312.18
## Mean :2217 Mean : 64.088 Mean : 55.374 Mean : 327.74
## 3rd Qu.:2580 3rd Qu.: 75.468 3rd Qu.: 67.453 3rd Qu.: 382.61
## Max. :4500 Max. :364.666 Max. :293.561 Max. :1042.51
# Statistik deskriptif untuk variabel numerik
summary(susenas_cleaned)
## FOOD NONFOOD EXPEND KAPITA
## Min. : 114857 Min. : 38208 Min. : 182190 Min. : 114515
## 1st Qu.: 1295486 1st Qu.: 857667 1st Qu.: 2277443 1st Qu.: 656004
## Median : 1916079 Median : 1403417 Median : 3429452 Median : 997299
## Mean : 2226646 Mean : 2142186 Mean : 4368832 Mean : 1308460
## 3rd Qu.: 2785714 3rd Qu.: 2393183 3rd Qu.: 5212515 3rd Qu.: 1543848
## Max. :31272857 Max. :193333898 Max. :201254112 Max. :94740858
## KALORI_KAP PROTE_KAP LEMAK_KAP KARBO_KAP
## Min. :1000 Min. : 4.166 Min. : 2.023 Min. : 25.66
## 1st Qu.:1737 1st Qu.: 47.371 1st Qu.: 38.230 1st Qu.: 254.84
## Median :2116 Median : 59.678 Median : 51.136 Median : 312.18
## Mean :2217 Mean : 64.088 Mean : 55.374 Mean : 327.74
## 3rd Qu.:2580 3rd Qu.: 75.468 3rd Qu.: 67.453 3rd Qu.: 382.61
## Max. :4500 Max. :364.666 Max. :293.561 Max. :1042.51
library(ggplot2)
# Visualisasi distribusi pengeluaran makanan
ggplot(susenas_cleaned, aes(x = FOOD)) +
geom_histogram(binwidth = 500000, fill = "blue", alpha = 0.7) +
labs(title = "Distribusi Pengeluaran Makanan", x = "Pengeluaran Makanan", y = "Frekuensi") +
theme_minimal()
Histogram di atas menggambarkan distribusi pengeluaran rumah tangga untuk kebutuhan makanan berdasarkan data SUSENAS 2019. Pada sumbu horizontal (X), tertera nilai pengeluaran makanan dalam satuan rupiah, sedangkan sumbu vertikal (Y) menunjukkan jumlah rumah tangga pada setiap rentang pengeluaran tersebut. Distribusi ini memperlihatkan pola yang cenderung miring ke kanan, di mana mayoritas rumah tangga memiliki pengeluaran makanan yang relatif rendah hingga menengah. Frekuensi rumah tangga menurun secara signifikan seiring dengan peningkatan jumlah pengeluaran, menunjukkan bahwa hanya sebagian kecil rumah tangga yang memiliki pengeluaran makanan sangat tinggi.
Pola distribusi ini mencerminkan karakteristik yang umum dalam survei sosial-ekonomi, di mana sebagian besar responden cenderung berada pada kelompok pengeluaran yang lebih rendah, sementara kelompok dengan pengeluaran tinggi biasanya berada pada rentang ekor distribusi. Hal ini dapat menunjukkan adanya kesenjangan dalam pola pengeluaran rumah tangga untuk makanan. Analisis lebih lanjut dapat dilakukan untuk mengidentifikasi faktor-faktor yang memengaruhi pengeluaran makanan, seperti ukuran rumah tangga, pendapatan, atau lokasi geografis. Diagram ini memberikan dasar deskriptif yang penting dalam memahami distribusi pengeluaran rumah tangga di Indonesia, khususnya dalam konteks kebutuhan pangan.
library(psych)
library(corrplot)
# Matriks korelasi
cor_matrix <- cor(susenas_cleaned)
corrplot(cor_matrix, method = "circle", type = "lower", tl.cex = 0.8)
# KMO dan Bartlett's Test
kmo_result <- KMO(cor_matrix)
## Error in solve.default(r) :
## system is computationally singular: reciprocal condition number = 1.78784e-17
kmo_result
## Kaiser-Meyer-Olkin factor adequacy
## Call: KMO(r = cor_matrix)
## Overall MSA = 0.5
## MSA for each item =
## FOOD NONFOOD EXPEND KAPITA KALORI_KAP PROTE_KAP LEMAK_KAP
## 0.5 0.5 0.5 0.5 0.5 0.5 0.5
## KARBO_KAP
## 0.5
bartlett_test <- cortest.bartlett(cor_matrix, n = nrow(susenas_cleaned))
bartlett_test
## $chisq
## [1] 14651360
##
## $p.value
## [1] 0
##
## $df
## [1] 28
Diagram di atas menunjukkan matriks korelasi visual antarvariabel dalam dataset yang akan dianalisis menggunakan metode analisis faktor. Korelasi antarvariabel direpresentasikan oleh lingkaran dengan ukuran dan warna yang mencerminkan kekuatan serta arah hubungan. Warna biru tua menunjukkan korelasi positif yang kuat, sementara warna lebih terang atau lingkaran yang kecil menunjukkan korelasi yang lebih lemah. Sebaliknya, jika ada korelasi negatif, warna merah akan muncul sesuai tingkatannya.
Dari diagram tersebut, terlihat bahwa terdapat hubungan korelasi yang kuat antara beberapa variabel, seperti antara FOOD (pengeluaran makanan) dan EXPEND (total pengeluaran), serta antara KAPITA (pengeluaran per kapita) dan komponen konsumsi seperti KALORI_KAP (kalori per kapita) atau PROTE_KAP (protein per kapita). Korelasi yang kuat ini menunjukkan bahwa variabel-variabel tersebut memiliki pola hubungan linier yang signifikan, yang menjadi prasyarat penting untuk analisis faktor. Sebaliknya, beberapa variabel menunjukkan korelasi yang lebih rendah, sehingga kontribusinya dalam membentuk faktor dapat lebih kecil.
Analisis ini untuk menilai kelayakan dataset dalam penerapan analisis faktor. Korelasi yang signifikan antarvariabel menunjukkan bahwa dataset memenuhi asumsi dasar untuk melakukan ekstraksi faktor. Diagram ini memberikan gambaran awal yang mendukung penerapan analisis faktor untuk mengidentifikasi pola hubungan antarvariabel yang lebih mendalam.
# Ekstraksi faktor menggunakan metode Principal Axis Factoring (PAF)
factor_result <- fa(susenas_cleaned, nfactors = 2, rotate = "varimax", fm = "pa")
print(factor_result)
## Factor Analysis using method = pa
## Call: fa(r = susenas_cleaned, nfactors = 2, rotate = "varimax", fm = "pa")
## Standardized loadings (pattern matrix) based upon correlation matrix
## PA1 PA2 h2 u2 com
## FOOD 0.17 0.61 0.41 0.59 1.1
## NONFOOD -0.01 0.93 0.87 0.13 1.0
## EXPEND 0.04 1.05 1.10 -0.10 1.0
## KAPITA 0.31 0.74 0.64 0.36 1.3
## KALORI_KAP 1.05 0.09 1.10 -0.10 1.0
## PROTE_KAP 0.84 0.21 0.75 0.25 1.1
## LEMAK_KAP 0.74 0.23 0.59 0.41 1.2
## KARBO_KAP 0.78 -0.01 0.61 0.39 1.0
##
## PA1 PA2
## SS loadings 3.07 2.99
## Proportion Var 0.38 0.37
## Cumulative Var 0.38 0.76
## Proportion Explained 0.51 0.49
## Cumulative Proportion 0.51 1.00
##
## Mean item complexity = 1.1
## Test of the hypothesis that 2 factors are sufficient.
##
## df null model = 28 with the objective function = 29.24 with Chi Square = 9942975
## df of the model are 13 and the objective function was 26.1
##
## The root mean square of the residuals (RMSR) is 0.05
## The df corrected root mean square of the residuals is 0.07
##
## The harmonic n.obs is 340032 with the empirical chi square 42095.07 with prob < 0
## The total n.obs was 340032 with Likelihood Chi Square = 8875551 with prob < 0
##
## Tucker Lewis Index of factoring reliability = -0.923
## RMSEA index = 1.417 and the 90 % confidence intervals are 1.415 NA
## BIC = 8875386
## Fit based upon off diagonal values = 0.99
fa.diagram(factor_result, main = "Diagram Faktor")
Diagram di atas merupakan representasi visual hasil analisis faktor yang menunjukkan hubungan antara variabel-variabel observasi dengan faktor-faktor tersembunyi yang diidentifikasi, yaitu PA1 dan PA2. Setiap variabel memiliki nilai faktor loading yang merepresentasikan kekuatan hubungan antara variabel tersebut dengan faktor yang relevan.
Pada faktor PA1, variabel-variabel yang memiliki loading tinggi adalah KALORI_KAP (kalori per kapita), PROTE_KAP (protein per kapita), KARBO_KAP (karbohidrat per kapita), dan LEMAK_KAP (lemak per kapita). Hal ini menunjukkan bahwa PA1 dapat diinterpretasikan sebagai faktor yang merepresentasikan pola konsumsi gizi atau kualitas asupan makanan. Loading yang tinggi, berkisar antara 0.7 hingga 0.8, mengindikasikan hubungan yang kuat antara faktor ini dengan variabel-variabel terkait.
Pada faktor PA2, variabel yang dominan adalah EXPEND (total pengeluaran), NONFOOD (pengeluaran nonmakanan), KAPITA (pengeluaran per kapita), dan FOOD (pengeluaran makanan). Loading tertinggi ditemukan pada variabel EXPEND (1.0) dan NONFOOD (0.9), yang menunjukkan bahwa PA2 dapat diinterpretasikan sebagai faktor yang mencerminkan tingkat pengeluaran rumah tangga secara umum. Variabel KAPITA dan FOOD juga berkontribusi pada faktor ini, meskipun dengan loading yang lebih rendah, yaitu 0.7 dan 0.6.
Hasil ini mengindikasikan bahwa dua faktor utama dapat menjelaskan variasi dalam dataset, di mana faktor pertama lebih terkait dengan komposisi gizi konsumsi, sedangkan faktor kedua mencerminkan struktur pengeluaran rumah tangga. Analisis ini memberikan wawasan tentang bagaimana variabel-variabel observasi dikelompokkan dan memberikan dasar untuk interpretasi lebih lanjut terhadap pola konsumsi dan pengeluaran rumah tangga.
# Loadings faktor
factor_result$loadings
##
## Loadings:
## PA1 PA2
## FOOD 0.168 0.615
## NONFOOD 0.932
## EXPEND 1.048
## KAPITA 0.309 0.735
## KALORI_KAP 1.047
## PROTE_KAP 0.839 0.206
## LEMAK_KAP 0.736 0.229
## KARBO_KAP 0.780
##
## PA1 PA2
## SS loadings 3.074 2.989
## Proportion Var 0.384 0.374
## Cumulative Var 0.384 0.758
# Variabel utama dalam setiap faktor
apply(factor_result$loadings, 2, function(x) {
names(sort(abs(x), decreasing = TRUE))[1:3]
})
## PA1 PA2
## [1,] "KALORI_KAP" "EXPEND"
## [2,] "PROTE_KAP" "NONFOOD"
## [3,] "KARBO_KAP" "KAPITA"
Interpretasi faktor berdasarkan output yang disajikan menunjukkan bagaimana variabel-variabel observasi memuat atau berkorelasi dengan faktor-faktor tersembunyi, yaitu PA1 dan PA2, serta seberapa besar kontribusi faktor-faktor tersebut dalam menjelaskan variabilitas data.
Pada faktor PA1, variabel yang memiliki loading tertinggi adalah KALORI_KAP (1.047), diikuti oleh PROTE_KAP (0.839), KARBO_KAP (0.780), dan LEMAK_KAP (0.736). Hal ini menunjukkan bahwa PA1 merepresentasikan faktor yang berhubungan erat dengan aspek asupan gizi, khususnya jumlah kalori, protein, karbohidrat, dan lemak yang dikonsumsi per kapita. Faktor ini mencerminkan pola konsumsi gizi dalam rumah tangga.
Sementara itu, pada faktor PA2, variabel dengan loading tertinggi adalah EXPEND (1.048) dan NONFOOD (0.932), diikuti oleh KAPITA (0.735) dan FOOD (0.615). Faktor ini dapat diinterpretasikan sebagai faktor yang menggambarkan pengeluaran rumah tangga, baik untuk kebutuhan nonmakanan maupun makanan, serta pengeluaran per kapita. Loading tinggi pada variabel-variabel ini menunjukkan bahwa PA2 lebih berfokus pada aspek finansial rumah tangga.
SS loadings mengindikasikan jumlah kontribusi variabel terhadap setiap faktor. Untuk PA1, nilai SS loadings adalah 3.074, sedangkan untuk PA2, nilainya adalah 2.989. Ini menunjukkan bahwa kedua faktor tersebut memiliki kontribusi yang hampir setara dalam menjelaskan total variansi data. Proportion Var untuk PA1 adalah 0.384 (38.4%) dan untuk PA2 adalah 0.374 (37.4%), dengan total Cumulative Var sebesar 75.8%. Hal ini berarti kedua faktor ini bersama-sama menjelaskan 75.8% dari total variabilitas dalam data.
Interpretasi ini diperkuat oleh daftar variabel dominan pada masing-masing faktor. Pada PA1, variabel dominan adalah KALORI_KAP, PROTE_KAP, dan KARBO_KAP, sedangkan pada PA2, variabel dominan adalah EXPEND, NONFOOD, dan KAPITA. Dengan demikian, analisis faktor ini menunjukkan pemisahan yang jelas antara pola konsumsi gizi dan pola pengeluaran rumah tangga, yang masing-masing direpresentasikan oleh faktor PA1 dan PA2.
Analisis faktor yang dilakukan berhasil mengidentifikasi dua faktor utama yang secara signifikan menjelaskan struktur data dalam SUSENAS 2019. Faktor pertama (PA1) merepresentasikan pola konsumsi gizi masyarakat, yang ditunjukkan oleh loading tinggi pada variabel asupan kalori, protein, karbohidrat, dan lemak per kapita. Faktor kedua (PA2) mencerminkan aspek pengeluaran rumah tangga, baik untuk kebutuhan makanan maupun nonmakanan, serta pengeluaran per kapita. Kedua faktor ini bersama-sama menjelaskan 75,8% dari total variansi data, dengan kontribusi yang hampir seimbang. Korelasi antarvariabel menunjukkan adanya hubungan yang kuat antara variabel dalam setiap faktor, mengonfirmasi bahwa pengelompokan variabel sesuai dengan dimensi yang diwakilinya. Hasil analisis ini memberikan wawasan penting mengenai pola konsumsi dan pengeluaran masyarakat, yang dapat menjadi dasar pengambilan kebijakan terkait kebutuhan gizi dan alokasi pengeluaran rumah tangga di Indonesia.