File ini menyajikan proses pembacaan, pengolahan, dan pengelompokkan data mengenai besaran angsuran rumah tangga berdasarkan data Survei Sosial Ekonomi Nasional (Susenas) Modul Kesehatan dan Perumahan (MKP) tahun 2022. Proses ini meliputi tahapan mulai dari importing data mentah, pembersihan data (data cleaning), hingga pengelompokkan nilai angsuran bulanan yang dibayar oleh rumah tangga dalam bentuk tiga kategori atau terciles (tertiar), yakni kelompok rendah, sedang, dan tinggi.
Pengelompokkan tercile ini dilakukan untuk mempermudah analisis komparatif dan distribusi beban angsuran antar rumah tangga, serta dapat digunakan dalam analisis lanjutan.
Dengan pendekatan ini, file ini menjadi landasan penting untuk mendukung analisis kuantitatif mengenai akses dan keterjangkauan perumahan di Indonesia.
library(ggplot2)
library(openxlsx)
Membaca file CSV yang berisi data angsuran rumah tangga
data <- read.csv("D:\\Dataset Final All CD1\\Besaran Angsuran 2022.csv")
Membersihkan kolom ‘Rp’ dari karakter non-angka. Misalnya titik, koma, atau simbol lainnya agar dapat dikonversi ke numerik
data$Rp <- as.numeric(gsub("[^0-9]", "", data$Rp)) # Hapus titik, koma, dan lainnya
Mengelompokkan nilai angsuran ke dalam tiga kategori berdasarkan tercile. Tercile dilakukan dengan fungsi quantile untuk membagi data ke 3 bagian seimbang (Rendah, Sedang, Tinggi).
data$Kategori_Angsuran22 <- cut(
data$Rp,
breaks = quantile(data$Rp, probs = c(0, 1/3, 2/3, 1), na.rm = TRUE),
include.lowest = TRUE,
labels = c("Rendah", "Sedang", "Tinggi")
)
Menampilkan banyaknya rumah tangga dalam setiap kategori
table(data$Kategori_Angsuran22)
##
## Rendah Sedang Tinggi
## 74 73 73
Membuat diagram batang untuk menunjukkan distribusi jumlah rumah tangga berdasarkan kategori angsuran
ggplot(data, aes(x = Kategori_Angsuran22)) +
geom_bar(fill = "darkgreen") +
labs(
title = "Distribusi Kategori Besaran Angsuran 2022",
x = "Kategori",
y = "Jumlah",
caption = "Sumber: Susenas Modul Kesehatan dan Perumahan (MKP) 2022"
) +
theme_minimal()
Menampilkan nilai minimum dan maksimum dari tiap kategori
# Agregasi data
result <- aggregate(Rp ~ Kategori_Angsuran22, data = data, FUN = function(x) c(min = min(x), max = max(x)))
# Ubah hasil agregasi menjadi data frame yang bisa disimpan
result_df <- as.data.frame(result)
result_df
## Kategori_Angsuran22 Rp.min Rp.max
## 1 Rendah 110000 895000
## 2 Sedang 895700 1490000
## 3 Tinggi 1500000 14000000
# Simpan hasil ke dalam file Excel
write.xlsx(result_df, "hasil_agregasi.xlsx")
Menampilkan batas bawah dan atas dari tiap tercile (cutoff points)
cutoff <- quantile(data$Rp, probs = c(0, 1/3, 2/3, 1), na.rm = TRUE)
cutoff
## 0% 33.33333% 66.66667% 100%
## 110000 895000 1490000 14000000
Direktorat Statistik Kesejahteraan Rakyat, BPS, saptahas@bps.go.id