Load Packages

pacman::p_load(haven, car, dplyr, tidyr, survey, janitor, magrittr, ggplot2)

Setting Working Directory

setwd("D:\\RSE Direct R\\")

Load Dataset

kor23gab <- read_sav("KOR23GAB_2609.sav")

Selected Unit Analysis

Indikator Rumah Layak Huni ditujukan untuk pertanyaan-pertanyaan terkait rumah tangga. Oleh karena itu dalam penghitungan perlu dilakukan penyeleksian unit analisis.

ruta <- filter(kor23gab, R403==1)

Manipulating working variables

Untuk meringankan beban kerja dari proses penghitungan, perlu dilakukan filterisasi variabel yang digunakan. Terkait indikator ini, variabel yang digunakan antara lain: kode provinsi, kode kab/kota, kode renumbering NKS, kode renumbering no urut ruta, klasifikasi kota desa, variabel perumahan, jumlah ART dan penimbang.

dataku <- ruta %>%
  select(R101, R102, WI1, WI2, R105, R1801:R1817, R301, FWT)
View(dataku)

Calculate the indicator

Indikator terkait rumah layak huni merupakan salah satu indikator yang digunakan untuk mengukur capaian Tujuan 11 dari SDGs, yaitu menjadikan kota dan permukiman inklusif, aman, tangguh, dan berkelanjutan. Konsep rumah layak huni merujuk pada SDGs indikator 11.1.1.(a). Di dalam indikator 11.1.1.(a) terdapat empat kriteria yang wajib dipenuhi seluruhnya agar tempat tinggal dapat dikatakan sebagai rumah layak huni. Kriteria-kriteria tersebut adalah:

Memiliki akses terhadap layanan sumber air minum layak

Sumber air minum dikatakan layak jika rumah tangga memiliki sumber air minum utama berupa air terlindungi, yaitu: leding, sumur bor/pompa, sumur terlindung, mata air terlindung, atau air hujan. Jika sumber air minum utama rumah tangga bersifat tidak berkelanjutan (tidak sustainable) yaitu air kemasan bermerek atau air isi ulang, rumah tangga perlu memiliki sumber air mandi/cuci/dll berupa air terlindungi agar dapat dikatakan memiliki akses terhadap layanan sumber air minum layak.

Memiliki akses terhadap layanan sanitasi layak

Akses rumah tangga terhadap sanitasi layak diukur melalui kepemilikan fasilitas tempat buang air besar, jenis kloset, dan tempat pembuangan akhir tinja. Rumah tangga dengan akses terhadap sanitasi layak perlu memiliki fasilitas tempat buang air besar sendiri, bersama, atau di MCK komunal. Jenis kloset yang memenuhi syarat sanitasi layak adalah leher angsa. Tempat pembuangan akhir tinja yang memenuhi syarat sanitasi layak adalah tangki septik atau IPAL. Akan tetapi, untuk daerah perdesaan, tempat pembuangan akhir tinja dapat berupa lubang tanah.

Kecukupan luas tempat tinggal (sufficient living space)

Kecukupan luas tempat tinggal diukur melalui luas lantai per kapita minimal 7,2 m2. Luas lantai per kapita suatu rumah tangga diperoleh dari penghitungan luas lantai (m2) dibagi dengan jumlah anggota rumah tangga.

Ketahanan bangunan (durable housing)

Ketahanan bangunan rumah tangga diukur melalui bahan bangunan atap, dinding, dan lantai rumah. Bahan bangunan atap, dinding, dan lantai rumah perlu memenuhi syarat berikut agar dapat dikatakan memenuhi aspek ketahanan bangunan:

  1. Bahan bangunan atap rumah terluas berupa beton, genteng, kayu/ sirap, atau seng.
  2. Bahan bangunan dinding rumah terluas berupa tembok, plesteran, anyaman bambu/kawat, kayu/papan, atau batang kayu.
  3. Bahan bangunan lantai rumah terluas berupa marmer/granit, keramik, parket/vinil/karpet, ubin/tegel/teraso, kayu/papan, atau semen/bata merah.
dataku <- dataku %>%
  mutate(kabu = R101*100 + R102) %>%
  rename(prov="R101", kab="R102") %>%
  mutate(psu=prov*10000000 + kab*100000 + WI1, 
         strata= prov*10000000 + kab*100000 + R105,
         denom=100, 
         strata=strata,
         indic1_layak = dplyr::case_when(dataku$R1809A<=3 & dataku$R1809B==1 & dataku$R1809C<=2~100,
                        (dataku$R105 ==2 & dataku$R1809A<=3 & dataku$R1809B==1 & dataku$R1809C==4~100)),
         indic1_layak=case_when(indic1_layak==100~100,is.na(indic1_layak)~0)) %>%
  mutate(drinkw=car::recode(dataku$R1810A,"3:5=100;7=100;10=100;else=0")) %>%
  mutate(bottle=car::recode(dataku$R1810A,"1:2=100;else=0")) %>%
  mutate(bathing=car::recode(dataku$R1814A,"3:5=100;7=100;10=100;else=0")) %>%
  mutate(indic2_layak = dplyr::case_when(drinkw==100 | (bottle==100 & bathing==100)~100)) %>%
  mutate(indic2_layak = ifelse(is.na(indic2_layak), 0, indic2_layak)) %>%
  mutate(luas_cap=R1804/R301) %>%
  mutate(indic3_layak = dplyr::case_when(luas_cap>=7.20~100,luas_cap<7.20~0)) %>%
  mutate(roof=car::recode(dataku$R1806,"1:3=100;6=100;else=0")) %>%
  mutate(floor=car::recode(dataku$R1808,"1:6=100;else=0")) %>%
  mutate(wall=car::recode(dataku$R1807,"1:3=100;5=100;else=0")) %>%
  mutate(indic4_layak = dplyr::case_when((roof==100 & floor==100 & wall==100)~100)) %>%
  mutate(indic4_layak = ifelse(is.na(indic4_layak), 0, indic4_layak))

dataku <- dataku %>%
  mutate(RLH = dplyr::case_when((indic1_layak==100 & indic2_layak==100 & indic3_layak==100 & indic4_layak==100)~100)) %>%
  mutate(RLH = ifelse(is.na(RLH), 0, RLH))
View(dataku)

Set Design Sampling

Design sampling yang digunakan mengikuti design sampling yang dilakukan pada SPSS yaitu Cluster Sampling design with replacement.

susenas.design<- svydesign(id=~psu, strata=~strata, 
                            data = dataku, weights=~FWT)
susenas.design
## Stratified 1 - level Cluster Sampling design (with replacement)
## With (34478) clusters.
## svydesign(id = ~psu, strata = ~strata, data = dataku, weights = ~FWT)
summary(susenas.design$prob)
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
## 0.0002617 0.0035874 0.0082187 0.0262373 0.0217578 0.4888525

Set Output Statistics

options(survey.adjust.domain.lonely=TRUE)
options(survey.lonely.psu="adjust")
hasil = svyby(formula = ~RLH, denom= ~denom, ~kabu, design = susenas.design, data = dataku, 
              deff=TRUE, svyratio, vartype=c("se","ci","ci","cv","cvpct","var"))
hasil[is.na(hasil)] <- 0
hasil$theta = round(hasil$`RLH/denom`*100,2)
hasil$SE = round(hasil$`se.RLH/denom`*100,2)
hasil$VAR = round(hasil$SE*hasil$SE,2)
hasil$CI_LOWER = round(hasil$`ci_l`*100,2)
hasil$CI_LOWER[hasil$CI_LOWER<0] <- 0
hasil$CI_UPPER = round(hasil$`ci_u`*100,2)
hasil$RSE = round(hasil$`cv%`,2)
hasil$DEFF = round(hasil$DEff,2)
View(hasil)

District Level Estimate

output = as.data.frame(cbind(hasil$kabu, hasil$theta, hasil$SE, hasil$VAR, hasil$CI_LOWER, hasil$CI_UPPER, hasil$RSE, hasil$DEFF))
names(output) = c("Kako","Estimasi","SE","VAR","CI LOWER","CI UPPER","RSE","DEFF")
(output[order(output$Kako, decreasing = FALSE), ]   )

Nilai RSE>25% paling banyak ditemukan di kabupaten/kota Provinsi Papua Barat dan Papua

ggplot(data = hasil, aes(x=hasil$kabu, y=hasil$RSE)) +
  geom_line(colour = "red") +
  labs(title = "Kabupaten/Kota vs Nilai RSE RLH")

Export to CSV

write.csv(output,"RSE_DIRECT_RLH_KAKO_2023.csv")

rm(list=ls()) #Clear environment

References

  1. BPS. 2023. Indikator Perumahan dan Kesehatan Lingkungan 2023. Jakarta: Badan Pusat Statistik.
  2. Sekretariat SDGs Bappenas. 2020. Metadata Indikator Tujuan Pembangunan Berkelanjutan (TPB)/ Sustainable Development Goals (SDGs) Indonesia. Jakarta: Kementerian Perencanaan Pembangunan Nasional/Badan Perencanaan Pembangunan Nasional.

Direktorat Statistik Kesejahteraan Rakyat, BPS,