Tahapan preprocessing data

** direktori kerja **

setwd ("D:/1. PASCASARJANA/Semester 4/Nofrida/Tesis/olahdata/1. persiapan data")

** impor data **

library(foreign)
kor_RT <- read.dbf("kor21rt_dds.dbf")
ind1_kor <- read.dbf("kor21ind_1_dds.dbf")
ind2_kor <- read.dbf("kor21ind_2_dds.dbf")

dim(kor_RT)
## [1] 7236   48
dim(ind1_kor)
## [1] 27418    18
dim(ind2_kor)
## [1] 27418    11
str(ind2_kor)
## 'data.frame':    27418 obs. of  11 variables:
##  $ FWT    : num  374 397 397 397 397 ...
##  $ R101   : int  36 36 36 36 36 36 36 36 36 36 ...
##  $ R102   : int  2 1 1 1 1 3 3 3 3 3 ...
##  $ R105   : int  2 2 2 2 2 2 1 1 1 1 ...
##  $ R1101_A: Factor w/ 1 level "A": NA 1 1 NA 1 1 1 1 NA 1 ...
##  $ R1101_C: Factor w/ 1 level "C": NA NA NA NA NA NA NA NA NA NA ...
##  $ R301   : int  1 4 4 4 4 1 6 6 6 6 ...
##  $ R401   : int  1 1 2 3 4 1 1 2 3 4 ...
##  $ RENUM  : int  262533 458 458 458 458 335870 85283 85283 85283 85283 ...
##  $ WI1    : int  999 14683 14683 14683 14683 28057 10659 10659 10659 10659 ...
##  $ WI2    : int  326006 325987 325987 325987 325987 325820 325567 325567 325567 325567 ...
##  - attr(*, "data_types")= chr  "N" "N" "N" "N" ...

** gabung data individu **

library(dplyr)
## Warning: package 'dplyr' was built under R version 3.6.3
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
ind_kor <- ind1_kor %>% left_join(ind2_kor, by=c("RENUM", "R401"))
dim(ind_kor)
## [1] 27418    27
dataset_ruta <- kor_RT
dataset_KRT <- ind1_kor %>% filter(R401==1)
dim(dataset_ruta)
## [1] 7236   48
dim(dataset_KRT)
## [1] 7236   18

DATASET RUMAHTANGGA

dataset_statusruta<- dataset_ruta %>% 
  select(RENUM, R101, R102, R105, R301, R1701, R1702, R1703, R1704,R1705, R1706, R1707, R1708, R1801, R1802, R1804, R1806, R1807, R1808, R1809A,  R1810A, R1814A, R1816, R1817, R2001A, R2001B, R2001C, R2001D, R2001E, R2001F, R2001G, R2001H, R2001I, R2001J, R2001K,
R2001L, R2001M, R2101A, R2202, R2203, R2205, R2206, R2208, R2212A, R2212B) %>%
  mutate (y = ifelse(R2202==1,1, ifelse(R2202==2,1, 
              ifelse(R2203==1,1, ifelse(R2205==1,1,
              ifelse(R2206==1,1, ifelse(R2208==1,1, 
              ifelse(R2212A==1,1, ifelse(R2212B==1,1,0
              ))))))))) %>%
  mutate (status_ruta = ifelse(y == 0, "Bukan Penerima", "Penerima Program")) %>%
  mutate (Provinsi = R101) %>%
  mutate (KabKota = R102)     
          

  dim(dataset_statusruta)
## [1] 7236   49
table(dataset_statusruta$y)
## 
##    0    1 
## 5087 2149

** coba melihat proporsi data

prop.table(table(dataset_statusruta$status_ruta))
## 
##   Bukan Penerima Penerima Program 
##        0.7030127        0.2969873

Dari proporsi peubah respon terlihat bahwa terjadi ketidakseimbangan data, sehingga perlu untuk menangani ketidakseimbangan data (akan dilakukan pada tahap berikutnya)

** menggunakan peubah penjelas pada data rumahtangga **

dataset_ruta_pakai<- dataset_statusruta %>%
   select(everything()) %>%
  mutate(status_daerah = ifelse(R105 %in% 1, "kota", "desa")) %>%
  mutate (y = ifelse(R2202==1,1, 
              ifelse(R2202==2,1, 
              ifelse(R2203==1,1,
              ifelse(R2205==1,1,
              ifelse(R2206==1,1, 
              ifelse(R2208==1,1, 
              ifelse(R2212A==1,1, 
              ifelse(R2212B==1,1,0
                ))))))))) %>%
  mutate(status_ruta = ifelse(y == 0,"bukan penerima", "penerima program")) %>%
  mutate(jumlah_keluarga = R1801) %>%
  mutate(status_bangunan = ifelse(R1802==1,"milik sendiri", 
                           ifelse(R1802==2,"kontrak/sewa", 
                           ifelse(R1802==3,"bebas sewa", 
                           ifelse(R1802==4,"dinas","lainnya"
                               ))))) %>%
  mutate(luas_lantai = R1804) %>%
  mutate(jenis_atap = ifelse(R1806==1, "beton", 
                      ifelse(R1806==2, "genteng", 
                      ifelse(R1806==3, "seng", 
                      ifelse(R1806==4, "asbes", 
                      ifelse(R1806==5, "bambu", 
                      ifelse(R1806==6, "kayu/sirap",
                      ifelse(R1806==7, "jerami/ijuk/daun-daunan/rumbia", "lainnya"
                              )))))))) %>%
  mutate(jenis_dinding = ifelse(R1807==1, "tembok", 
                         ifelse(R1807==2, "plesteran anyaman bambu/kawat", 
                         ifelse(R1807==3, "kayu/papan", 
                         ifelse(R1807==4, "anyaman bambu", 
                         ifelse(R1807==5, "batang kayu", 
                         ifelse(R1807==6, "bambu", "lainnya"
                                 ))))))) %>%
  mutate(jenis_lantai = ifelse(R1808==1, "marmer/granit",
                        ifelse(R1808==2, "keramik",
                        ifelse(R1808==3, "parket/vinil/karpet",
                        ifelse(R1808==4, "ubin/tegel/teraso",
                        ifelse(R1808==5, "kayu/papan",
                        ifelse(R1808==6, "semen/bata merah", 
                        ifelse(R1808==7, "bambu", 
                        ifelse(R1808==8, "tanah", "lainnya"
                               ))))))))) %>%
  mutate(fas_BAB = ifelse(R1809A==1, "ART sendiri", 
                   ifelse(R1809A==2, "ART tertentu", 
                   ifelse(R1809A==3, "MCK komunal", 
                   ifelse(R1809A==4, "MCK umum", 
                   ifelse(R1809A==5, "ada, tidak digunakan", 
                   "tidak ada"
                          )))))) %>%
  mutate(sumber_minum = ifelse(R1810A %in% 1:2,"air kemasan/isi ulang",
                         ifelse(R1810A %in% 3, "Leding",
                         ifelse(R1810A %in% 4, "sumur bor/pompa",
                         ifelse(R1810A %in% 5, "sumur terlindung", 
                         ifelse(R1810A %in% 6, "sumur tak terlindung", 
                         ifelse(R1810A %in% 7, "mata air terlindung", 
                         ifelse(R1810A %in% 8, "mata air tak terlindung", 
                                "Lainnya" )))))))) %>%  
  mutate(sumber_penerangan = ifelse(R1816==1, "PLN dengan meteran", 
                             ifelse(R1816==2, "PLN tanpa meteran", 
                             ifelse(R1816==3, "listrik non PLN", 
                             "bukan listrik"
                                    )))) %>%
  mutate(bahan_bakar = ifelse(R1817==4,"elpiji 3kg",
                             ifelse(R1817==1 | R1817==5 | R1817==6 | R1817==8 | R1817==11 ,"Lainnya",
                             ifelse(R1817==2 | R1817==3 ,"LPG 12kg/5.5kg/Bluegaz",
                             ifelse(R1817==7,"minyak tanah",
                             ifelse(R1817==9, "arang",
                             ifelse(R1817==10,"kayu bakar",
                             "tidak memasak"
                                ))))))) %>%
  mutate(kepemilikan_barang = ifelse(R2001C==1, "AC",
                              ifelse(R2001G==1, "emas/perhiasan", 
                              ifelse(R2001K==1, "mobil",
                              ifelse(R2001M==1, "tanah/lahan", "lainnya"
                                      ))))) %>%
  mutate(jumlah_ART = R301) %>%
  select(RENUM, y, status_daerah, status_ruta, jumlah_keluarga, status_bangunan, luas_lantai, 
         jenis_atap, jenis_lantai, jenis_dinding, fas_BAB, sumber_minum, sumber_penerangan, 
         bahan_bakar, kepemilikan_barang, jumlah_ART)

dim(dataset_ruta_pakai)
## [1] 7236   16
library(data.table)
## Warning: package 'data.table' was built under R version 3.6.2
## 
## Attaching package: 'data.table'
## The following objects are masked from 'package:dplyr':
## 
##     between, first, last
data.table(head(dataset_ruta_pakai,150), class='cell-border stripe')
##      RENUM y status_daerah    status_ruta jumlah_keluarga status_bangunan
##   1:   422 0          desa bukan penerima               1   milik sendiri
##   2:   425 0          desa bukan penerima               1   milik sendiri
##   3:   428 0          desa bukan penerima               1   milik sendiri
##   4:   431 0          desa bukan penerima               1   milik sendiri
##   5:   434 0          desa bukan penerima               1    kontrak/sewa
##  ---                                                                     
## 146: 19067 0          desa bukan penerima               1   milik sendiri
## 147: 19070 0          desa bukan penerima               1   milik sendiri
## 148: 19073 0          desa bukan penerima               2   milik sendiri
## 149: 19076 0          desa bukan penerima               2   milik sendiri
## 150: 19079 0          desa bukan penerima               1   milik sendiri
##      luas_lantai jenis_atap      jenis_lantai jenis_dinding      fas_BAB
##   1:          87    genteng           keramik        tembok  ART sendiri
##   2:          84    genteng  semen/bata merah        tembok  ART sendiri
##   3:          78    genteng           keramik        tembok  ART sendiri
##   4:          98    genteng           keramik        tembok    tidak ada
##   5:          94    genteng           keramik        tembok  ART sendiri
##  ---                                                                    
## 146:          90    genteng ubin/tegel/teraso        tembok  ART sendiri
## 147:          60    genteng           keramik        tembok  ART sendiri
## 148:          90    genteng           keramik        tembok  ART sendiri
## 149:          81    genteng           keramik        tembok  ART sendiri
## 150:         100    genteng           keramik        tembok ART tertentu
##             sumber_minum  sumber_penerangan bahan_bakar kepemilikan_barang
##   1:    sumur terlindung PLN dengan meteran  kayu bakar        tanah/lahan
##   2: mata air terlindung PLN dengan meteran  kayu bakar        tanah/lahan
##   3: mata air terlindung PLN dengan meteran  kayu bakar        tanah/lahan
##   4:    sumur terlindung PLN dengan meteran  elpiji 3kg        tanah/lahan
##   5:    sumur terlindung PLN dengan meteran  elpiji 3kg        tanah/lahan
##  ---                                                                      
## 146: mata air terlindung PLN dengan meteran  elpiji 3kg        tanah/lahan
## 147: mata air terlindung PLN dengan meteran  kayu bakar        tanah/lahan
## 148: mata air terlindung  PLN tanpa meteran  elpiji 3kg        tanah/lahan
## 149: mata air terlindung PLN dengan meteran  elpiji 3kg        tanah/lahan
## 150: mata air terlindung PLN dengan meteran  elpiji 3kg        tanah/lahan
##      jumlah_ART              class
##   1:          1 cell-border stripe
##   2:          3 cell-border stripe
##   3:          1 cell-border stripe
##   4:          5 cell-border stripe
##   5:          3 cell-border stripe
##  ---                              
## 146:          2 cell-border stripe
## 147:          1 cell-border stripe
## 148:          6 cell-border stripe
## 149:          3 cell-border stripe
## 150:          4 cell-border stripe

DATASET ANGGOTA RUMAHTANGGA (ART)

dataset_ind2_pakai<- ind_kor %>%
  mutate(status_bpjsPBI = ifelse(R1101_A == "A", 1, 0)) %>% 
  mutate(status_jamkesda = ifelse(R1101_C == "C", 1, 0)) %>%
  select(RENUM, status_bpjsPBI, status_jamkesda) %>% replace(is.na(.), 0)

dim(dataset_ind2_pakai)
## [1] 27418     3
dataset_ind2_pakai_agregat <- dataset_ind2_pakai %>% group_by(RENUM) %>%
  summarize(jumlah_status_bpjsPBI = sum(status_bpjsPBI), 
             jumlah_status_jamkesda = sum(status_jamkesda), 
             .groups="keep")
head(dataset_ind2_pakai_agregat)
## # A tibble: 6 x 3
## # Groups:   RENUM [6]
##   RENUM jumlah_status_bpjsPBI jumlah_status_jamkesda
##   <int>                 <dbl>                  <dbl>
## 1   422                     0                      0
## 2   425                     2                      0
## 3   428                     0                      0
## 4   431                     5                      0
## 5   434                     0                      0
## 6   437                     3                      0
dim(dataset_ind2_pakai_agregat)
## [1] 7236    3

DATASET KEPALA RUMAHTANGGA (KRT)

dataset_KRT_pakai <- dataset_KRT %>%
  mutate(JK_KRT = ifelse(R405 %in% 1, "Laki-laki", "Perempuan")) %>%
  mutate(pendidikan_KRT = ifelse(R613 %in% 1:4,"SD",
                          ifelse(R613 %in% 5:8,"SMP",
                          ifelse(R613 %in% 9:14,"SMA",
                          ifelse(R613 %in% 15:21,"Perguruan Tinggi",
                          ifelse(R613==22,"Tidak Tamat SD","Tidak Sekolah"
                                 ))))))%>%
  mutate(status_bekerja_KRT = ifelse(R702_A=="A", "Ya", "Tidak")) %>%
  
  select(RENUM, JK_KRT, pendidikan_KRT, status_bekerja_KRT) %>%
  replace(is.na(.), "Tidak")
dim(dataset_KRT_pakai)
## [1] 7236    4
head(dataset_KRT_pakai)
##    RENUM    JK_KRT pendidikan_KRT status_bekerja_KRT
## 1 262533 Laki-laki  Tidak Sekolah              Tidak
## 2    458 Laki-laki            SMP                 Ya
## 3 335870 Laki-laki             SD                 Ya
## 4  85283 Laki-laki            SMA                 Ya
## 5  78737 Perempuan             SD              Tidak
## 6   2503 Laki-laki             SD              Tidak

DATASET RUMAHTANGGA (konsumsi pengeluaran)

library(readxl)
## Warning: package 'readxl' was built under R version 3.6.3
dataKP_ruta <- read_excel("data_KP.xlsx")
dim(dataKP_ruta)
## [1] 7236    6
head(dataKP_ruta)
## # A tibble: 6 x 6
##     EXPEND     FOOD   KAPITA  NONFOOD  RENUM Persentase
##      <dbl>    <dbl>    <dbl>    <dbl>  <dbl>      <dbl>
## 1 1539643.  636643. 1539643.  903000  257077       41.4
## 2 2707943. 1695943.  902648. 1012000  257095       62.6
## 3 2036540. 1261457. 1018270.  775083. 257086       61.9
## 4 4828893. 2808643. 1207223. 2020250  257080       58.2
## 5  915264.  516514.  915264.  398750  257101       56.4
## 6 1775890. 1136057.  887945.  639833. 257092       64.0
datasetKP_pakai <- dataKP_ruta %>%
  select(everything()) %>%
  mutate(persentase_makanan = Persentase) %>% 
  select(RENUM, persentase_makanan)
dim(datasetKP_pakai)
## [1] 7236    2
head(datasetKP_pakai)
## # A tibble: 6 x 2
##    RENUM persentase_makanan
##    <dbl>              <dbl>
## 1 257077               41.4
## 2 257095               62.6
## 3 257086               61.9
## 4 257080               58.2
## 5 257101               56.4
## 6 257092               64.0

DATASET PENELITIAN

library(dplyr)
dataset_ruta_pakai_join <- dataset_ruta_pakai %>%
  inner_join(dataset_ind2_pakai_agregat, by="RENUM") %>% 
  inner_join(dataset_KRT_pakai, by="RENUM") %>% 
  inner_join(datasetKP_pakai, by="RENUM") %>%
  select(everything()) %>%

  mutate(status_bpjsPBI = ifelse(jumlah_status_bpjsPBI > 0,1,0)) %>%
  mutate(status_jamkesda = ifelse(jumlah_status_jamkesda > 0, 1,0)) %>%
  mutate(y = ifelse((y+jumlah_status_bpjsPBI + jumlah_status_jamkesda)==0,0,1)) %>% 
  mutate(status_ruta = ifelse(y == 0, "bukan penerima", "penerima program"))
  
  dim(dataset_ruta_pakai_join)
## [1] 7236   24
head(dataset_ruta_pakai_join)
##   RENUM y status_daerah      status_ruta jumlah_keluarga status_bangunan
## 1   422 0          desa   bukan penerima               1   milik sendiri
## 2   425 1          desa penerima program               1   milik sendiri
## 3   428 0          desa   bukan penerima               1   milik sendiri
## 4   431 1          desa penerima program               1   milik sendiri
## 5   434 0          desa   bukan penerima               1    kontrak/sewa
## 6   437 1          desa penerima program               1   milik sendiri
##   luas_lantai jenis_atap     jenis_lantai jenis_dinding     fas_BAB
## 1          87    genteng          keramik        tembok ART sendiri
## 2          84    genteng semen/bata merah        tembok ART sendiri
## 3          78    genteng          keramik        tembok ART sendiri
## 4          98    genteng          keramik        tembok   tidak ada
## 5          94    genteng          keramik        tembok ART sendiri
## 6          92    genteng          keramik        tembok ART sendiri
##          sumber_minum  sumber_penerangan bahan_bakar kepemilikan_barang
## 1    sumur terlindung PLN dengan meteran  kayu bakar        tanah/lahan
## 2 mata air terlindung PLN dengan meteran  kayu bakar        tanah/lahan
## 3 mata air terlindung PLN dengan meteran  kayu bakar        tanah/lahan
## 4    sumur terlindung PLN dengan meteran  elpiji 3kg        tanah/lahan
## 5    sumur terlindung PLN dengan meteran  elpiji 3kg        tanah/lahan
## 6 mata air terlindung PLN dengan meteran  elpiji 3kg        tanah/lahan
##   jumlah_ART jumlah_status_bpjsPBI jumlah_status_jamkesda    JK_KRT
## 1          1                     0                      0 Perempuan
## 2          3                     2                      0 Laki-laki
## 3          1                     0                      0 Perempuan
## 4          5                     5                      0 Laki-laki
## 5          3                     0                      0 Laki-laki
## 6          3                     3                      0 Laki-laki
##     pendidikan_KRT status_bekerja_KRT persentase_makanan status_bpjsPBI
## 1               SD              Tidak           32.73414              0
## 2               SD                 Ya           63.42768              1
## 3               SD              Tidak           40.55049              0
## 4 Perguruan Tinggi                 Ya           47.98142              1
## 5              SMP                 Ya           50.79995              0
## 6               SD                 Ya           56.23328              1
##   status_jamkesda
## 1               0
## 2               0
## 3               0
## 4               0
## 5               0
## 6               0
str(dataset_ruta_pakai_join)
## 'data.frame':    7236 obs. of  24 variables:
##  $ RENUM                 : num  422 425 428 431 434 437 440 443 446 449 ...
##  $ y                     : num  0 1 0 1 0 1 1 1 0 1 ...
##  $ status_daerah         : chr  "desa" "desa" "desa" "desa" ...
##  $ status_ruta           : chr  "bukan penerima" "penerima program" "bukan penerima" "penerima program" ...
##  $ jumlah_keluarga       : int  1 1 1 1 1 1 1 1 1 2 ...
##  $ status_bangunan       : chr  "milik sendiri" "milik sendiri" "milik sendiri" "milik sendiri" ...
##  $ luas_lantai           : int  87 84 78 98 94 92 86 107 96 96 ...
##  $ jenis_atap            : chr  "genteng" "genteng" "genteng" "genteng" ...
##  $ jenis_lantai          : chr  "keramik" "semen/bata merah" "keramik" "keramik" ...
##  $ jenis_dinding         : chr  "tembok" "tembok" "tembok" "tembok" ...
##  $ fas_BAB               : chr  "ART sendiri" "ART sendiri" "ART sendiri" "tidak ada" ...
##  $ sumber_minum          : chr  "sumur terlindung" "mata air terlindung" "mata air terlindung" "sumur terlindung" ...
##  $ sumber_penerangan     : chr  "PLN dengan meteran" "PLN dengan meteran" "PLN dengan meteran" "PLN dengan meteran" ...
##  $ bahan_bakar           : chr  "kayu bakar" "kayu bakar" "kayu bakar" "elpiji 3kg" ...
##  $ kepemilikan_barang    : chr  "tanah/lahan" "tanah/lahan" "tanah/lahan" "tanah/lahan" ...
##  $ jumlah_ART            : int  1 3 1 5 3 3 5 5 4 4 ...
##  $ jumlah_status_bpjsPBI : num  0 2 0 5 0 3 5 3 0 4 ...
##  $ jumlah_status_jamkesda: num  0 0 0 0 0 0 0 0 0 0 ...
##  $ JK_KRT                : chr  "Perempuan" "Laki-laki" "Perempuan" "Laki-laki" ...
##  $ pendidikan_KRT        : chr  "SD" "SD" "SD" "Perguruan Tinggi" ...
##  $ status_bekerja_KRT    : chr  "Tidak" "Ya" "Tidak" "Ya" ...
##  $ persentase_makanan    : num  32.7 63.4 40.6 48 50.8 ...
##  $ status_bpjsPBI        : num  0 1 0 1 0 1 1 1 0 1 ...
##  $ status_jamkesda       : num  0 0 0 0 0 0 0 0 0 0 ...
##  - attr(*, "data_types")= chr  "N" "N" "N" "N" ...
View(dataset_ruta_pakai_join)
table(dataset_ruta_pakai_join$y)
## 
##    0    1 
## 3040 4196
table(dataset_ruta_pakai_join$status_ruta)
## 
##   bukan penerima penerima program 
##             3040             4196
drop.cols <- c("RENUM","status_jamkesda","status_bpjsPBI","jumlah_status_jamkesda","jumlah_status_bpjsPBI")
dataset_tesis <- dataset_ruta_pakai_join %>% select(-drop.cols)
## Note: Using an external vector in selections is ambiguous.
## i Use `all_of(drop.cols)` instead of `drop.cols` to silence this message.
## i See <https://tidyselect.r-lib.org/reference/faq-external-vector.html>.
## This message is displayed once per session.
str(dataset_tesis)
## 'data.frame':    7236 obs. of  19 variables:
##  $ y                 : num  0 1 0 1 0 1 1 1 0 1 ...
##  $ status_daerah     : chr  "desa" "desa" "desa" "desa" ...
##  $ status_ruta       : chr  "bukan penerima" "penerima program" "bukan penerima" "penerima program" ...
##  $ jumlah_keluarga   : int  1 1 1 1 1 1 1 1 1 2 ...
##  $ status_bangunan   : chr  "milik sendiri" "milik sendiri" "milik sendiri" "milik sendiri" ...
##  $ luas_lantai       : int  87 84 78 98 94 92 86 107 96 96 ...
##  $ jenis_atap        : chr  "genteng" "genteng" "genteng" "genteng" ...
##  $ jenis_lantai      : chr  "keramik" "semen/bata merah" "keramik" "keramik" ...
##  $ jenis_dinding     : chr  "tembok" "tembok" "tembok" "tembok" ...
##  $ fas_BAB           : chr  "ART sendiri" "ART sendiri" "ART sendiri" "tidak ada" ...
##  $ sumber_minum      : chr  "sumur terlindung" "mata air terlindung" "mata air terlindung" "sumur terlindung" ...
##  $ sumber_penerangan : chr  "PLN dengan meteran" "PLN dengan meteran" "PLN dengan meteran" "PLN dengan meteran" ...
##  $ bahan_bakar       : chr  "kayu bakar" "kayu bakar" "kayu bakar" "elpiji 3kg" ...
##  $ kepemilikan_barang: chr  "tanah/lahan" "tanah/lahan" "tanah/lahan" "tanah/lahan" ...
##  $ jumlah_ART        : int  1 3 1 5 3 3 5 5 4 4 ...
##  $ JK_KRT            : chr  "Perempuan" "Laki-laki" "Perempuan" "Laki-laki" ...
##  $ pendidikan_KRT    : chr  "SD" "SD" "SD" "Perguruan Tinggi" ...
##  $ status_bekerja_KRT: chr  "Tidak" "Ya" "Tidak" "Ya" ...
##  $ persentase_makanan: num  32.7 63.4 40.6 48 50.8 ...
##  - attr(*, "data_types")= chr  "N" "N" "N" "N" ...
head(dataset_tesis)
##   y status_daerah      status_ruta jumlah_keluarga status_bangunan luas_lantai
## 1 0          desa   bukan penerima               1   milik sendiri          87
## 2 1          desa penerima program               1   milik sendiri          84
## 3 0          desa   bukan penerima               1   milik sendiri          78
## 4 1          desa penerima program               1   milik sendiri          98
## 5 0          desa   bukan penerima               1    kontrak/sewa          94
## 6 1          desa penerima program               1   milik sendiri          92
##   jenis_atap     jenis_lantai jenis_dinding     fas_BAB        sumber_minum
## 1    genteng          keramik        tembok ART sendiri    sumur terlindung
## 2    genteng semen/bata merah        tembok ART sendiri mata air terlindung
## 3    genteng          keramik        tembok ART sendiri mata air terlindung
## 4    genteng          keramik        tembok   tidak ada    sumur terlindung
## 5    genteng          keramik        tembok ART sendiri    sumur terlindung
## 6    genteng          keramik        tembok ART sendiri mata air terlindung
##    sumber_penerangan bahan_bakar kepemilikan_barang jumlah_ART    JK_KRT
## 1 PLN dengan meteran  kayu bakar        tanah/lahan          1 Perempuan
## 2 PLN dengan meteran  kayu bakar        tanah/lahan          3 Laki-laki
## 3 PLN dengan meteran  kayu bakar        tanah/lahan          1 Perempuan
## 4 PLN dengan meteran  elpiji 3kg        tanah/lahan          5 Laki-laki
## 5 PLN dengan meteran  elpiji 3kg        tanah/lahan          3 Laki-laki
## 6 PLN dengan meteran  elpiji 3kg        tanah/lahan          3 Laki-laki
##     pendidikan_KRT status_bekerja_KRT persentase_makanan
## 1               SD              Tidak           32.73414
## 2               SD                 Ya           63.42768
## 3               SD              Tidak           40.55049
## 4 Perguruan Tinggi                 Ya           47.98142
## 5              SMP                 Ya           50.79995
## 6               SD                 Ya           56.23328
rio::export(dataset_tesis, "dataset_tesis.xlsx")