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

1 Pengelompokkan Data

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

2 Visualisasi Distribusi

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")

3 Cutoff Nilai Tercile

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,