Meriza Immanuela Virgie - G1401221076

Membangkitkan dan Melihat Data

library(readxl)
susenas2022 <- read.csv("C:/Users/mivir/Downloads/2022 Maret JABAR - SUSENAS KP BP 4.1.csv", sep = ",")
data_kabupaten <- read_xlsx("C:/Users/mivir/Documents/KABUPATEN SUSENAS.xlsx")

str(susenas2022)
## 'data.frame':    1395042 obs. of  27 variables:
##  $ X      : int  0 1 2 3 4 5 6 7 8 9 ...
##  $ URUT   : int  1241 1241 1241 1241 1241 1241 1241 1241 1241 1241 ...
##  $ STRATA : int  841081 841081 841081 841081 841081 841081 841081 841081 841081 841081 ...
##  $ PSU    : int  9848 9848 9848 9848 9848 9848 9848 9848 9848 9848 ...
##  $ SSU    : int  119395 119395 119395 119395 119395 119395 119395 119395 119395 119395 ...
##  $ WI1    : int  32776 32776 32776 32776 32776 32776 32776 32776 32776 32776 ...
##  $ WI2    : int  2475 2475 2475 2475 2475 2475 2475 2475 2475 2475 ...
##  $ R101   : int  32 32 32 32 32 32 32 32 32 32 ...
##  $ R102   : int  3 3 3 3 3 3 3 3 3 3 ...
##  $ 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  3 3 3 3 3 3 3 3 3 3 ...
##  $ KODE   : int  1 2 8 9 16 44 45 65 66 75 ...
##  $ KLP    : int  0 1 0 8 0 16 16 0 65 0 ...
##  $ COICOP : chr  "" "01111001" "" "01178001" ...
##  $ B41K5  : num  0 0 0 0 0 2 1 0 2 0 ...
##  $ B41K6  : int  0 0 0 0 10000 7000 3000 3000 3000 4000 ...
##  $ B41K7  : num  0 3 0 2 0 0 0 0 0 0 ...
##  $ B41K8  : int  21000 21000 4000 4000 0 0 0 0 0 10000 ...
##  $ B41K9  : num  0 3 0 2 0 2 1 0 2 0 ...
##  $ B41K10 : int  21000 21000 4000 4000 10000 7000 3000 3000 3000 14000 ...
##  $ KALORI : num  10866 10866 2618 2618 508 ...
##  $ PROTEIN: num  254.2 254.2 17 17 99.8 ...
##  $ LEMAK  : num  43.5 43.5 5.1 5.1 5.6 ...
##  $ KARBO  : num  2326.5 2326.5 625.6 625.6 8.15 ...
##  $ WERT   : num  348 348 348 348 348 ...
##  $ WEIND  : num  1045 1045 1045 1045 1045 ...
View(susenas2022)

Visualisasi Nilai Data

  1. Bar Chart
library(ggplot2)
library(tidyverse)

pengeluaran_makan<- aggregate(susenas2022$B41K10, by = list(kabupaten = susenas2022$R102), FUN = mean)
pengeluaran_makan$kabupaten <- data_kabupaten$Kab

ggplot(pengeluaran_makan, aes(x = reorder(kabupaten, -x), y = x)) +
  geom_bar(stat = "identity", fill = "burlywood") +
  labs(title = "Rata-rata Pengeluaran Makan Rumah Tangga Seminggu per Kabupaten/Kota (SUSENAS 2022)",
       x = "Kabupaten",
       y = "Rata-rata Pengeluaran Makan") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

Pada bar chart di atas terlihat bahwa kabupaten/kota dengan rata-rata pengeluaran tertinggi untuk makanan jatuh kepada Kota Depok sedangkan kabupaten/kota dengan pengeluaran terendah jatuh kepada Kabupaten Cianjur. Dapat terlihat juga bahwa tidak ada kabupaten/kota yang rata-rata pengeluaran untuk makanannya mencapai Rp30.000 dalam seminggu dan tidak ada yang di bawah Rp10.000 dalam seminggu.

  1. Lollipop Chart
pengeluaran_makan %>% 
  top_n(5, x) %>%
  arrange(desc(x)) %>%
  ggplot(aes(x = reorder(kabupaten, x), y = x)) +
  geom_segment(aes(xend = reorder(kabupaten, x), yend = 0), color = "darkolivegreen4") +
  geom_point(color = "darkgoldenrod1", size = 3) +
  geom_text(aes(label = x), vjust = -0.9, color = "black", size =3) +
  coord_flip() +
  ggtitle("5 Kab/Kota dengan Rata-rata Pengeluaran Makan Rumah Tangga Seminggu Tertinggi (SUSENAS 2022)") +
  xlab("Kab/Kota") +
  ylab("Rata-Rata Pengeluaran Makan") +
  theme_classic()

Berikut merupakan lolipop chart yang menampilkan 5 kota/kabupaten dengan rata-rata pengeluaran makan seminggu tertinggi per rumah tangganya. Dapat terlihat urutannya mulai dari yang tertinggi adalah Kota Depok, disusul Kota Bekasi dan Kota Bandung di posisi ke-2 dan ke-3 yang kemudian disusul Kabupaten Bekasi dan Kota Cimahi di bawahnya. Terlihat juga bahwa rataan pengeluaran Kabupaten Bekasi dan Kota Cimahi tidak memiliki perbedaan yang signifikan.

Visualisasi Sebaran Data

  1. Histogram
# Mengganti nilai R102 dengan nilai Kab
merged_data <- merge(susenas2022, data_kabupaten, by.x = "R102", by.y = "KODE", all.x = TRUE)
merged_data$R102 <- ifelse(!is.na(merged_data$Kab), merged_data$Kab, merged_data$R102)
merged_data <- merged_data[, !names(merged_data) %in% c("Kab")]
susenas2022.baru <- merged_data

ggplot(susenas2022.baru) +
  geom_histogram(aes(x = B41K10), fill = "aquamarine2") +
  ggtitle("Histogram Sebaran Pengeluaran Makan Seminggu Rumah Tangga") +
  xlab("Pengeluaran") +
  ylab("Jumlah RT") +
  scale_x_continuous(limits = c(0, 1300000)) +
  scale_y_continuous(limits = c(0, 8750)) +
  theme_bw()

Berikut merupakan histogram sebaran pengeluaran makanan tiap RT seprovinsi Jawa Barat. Terlihat bahwa data menjulur ke kanan. Banyak rumah tangga yang memiliki pengeluaran total seminggu berada di rentang Rp125.000 sampai Rp250.000. Terdapat juga rumah tangga yang memiliki pengeluaran di atas Rp1.000.000

  1. Density Plot
library(ggridges)
susenas2022.baru %>% 
  filter(R102 %in% c("BOGOR", "SUKABUMI", "CIANJUR", "BANDUNG",
                     "GARUS", "TASIKMALAYA", "CIAMIS", "KUNINGAN",
                     "CIREBON", "MAJALENGKA", "SUMEDANG", "INDRAMAYU",
                     "SUBANG", "PURWAKARTA", "KARAWANG", "BEKASI",
                     "BANDUNG BARAT", "PANGANDARAN", "KOTA BOGOR", "KOTA SUKABUMI",
                     "KOTA BANDUNG", "KOTA CIREBON", "KOTA BEKASI", "DEPOK",
                     "CIMAHI", "KOTA TASIKMALAYA", "BANJAR")) %>% 
  ggplot() +
  geom_density_ridges(aes(y = R102, x = B41K10, fill = R102), show.legend = F, bandwidth = 3000) +
  ggtitle("Sebaran Pengeluaran Makan Rumah Tangga per Kabupaten/Kota") +
  ylab("Kab/Kota") +
  xlab("Pengeluaran Makan RT") +
  scale_x_continuous(limits = c(0, 100000)) +
  theme_classic()

Berikut adalah density plot pengeluaran makan seminggu tiap kabupaten. Terlihat bahwa semua sebaran menjulur ke kanan, di mana artinya di Jawa Barat, mayoritas penduduknya menghabiskan Rp0 sampai Rp25000 untuk biaya pengeluaran makan mereka.

Visualisasi Komposisi Data

  1. Pie Chart
susenas2022.baru <- susenas2022.baru %>% 
  mutate(R105 = ifelse(R105 == 1, "Perkotaan", R105),
         R105 = ifelse(R105 == 2, "Perdesaan/Kabupaten", R105))

sebaran.responden <- susenas2022.baru %>% group_by(R105) %>%
  summarize(jumlah.responden = n())
df <- data.frame(sebaran.responden)

ggplot(df, aes(x = "", y = jumlah.responden, fill = R105)) +
  geom_bar(stat = "identity") +
  coord_polar("y", start = 0) +
  scale_fill_brewer(palette = "Set3") +
  theme_void() +
  theme(legend.position = "right") +
  labs(title = "Komposisi Jumlah Responden Kabupaten vs Kota", fill = "Asal") +
  geom_text(aes(label = jumlah.responden), position = position_stack(vjust = 0.5))

Pie Chart di atas menggambarkan komposisi responden berdasarkan wilayah tempat tinggalnya. Lebih dari 50% responden (mayoritas) merupakan penduduk yang tinggal di wilayah perkotaan

  1. Treemap
susenas2022.3  <- read.csv("C:/Users/mivir/Downloads/2022 Maret JABAR - SUSENAS KP BP 4.3.csv", sep = ",")
susenas2022.3 <- susenas2022.3 %>% 
  mutate(R105 = ifelse(R105 == 1, "Perkotaan", R105),
         R105 = ifelse(R105 == 2, "Perdesaan/Kabupaten", R105))
susenas2022.3$R301 <- factor(susenas2022.3$R301)

library(treemap)
treemap(susenas2022.3,
        index = c("R105", "R301"),
        vSize = "EXPEND",
        draw = TRUE,
        title = "Treemap Asal dan Jumlah Anggota Keluarga Berdasarkan Total Pengeluaran",
        fontsize.title = 13,
        fontsize.labels = 12,
        fontcolor.labels = "white")

Treemap di atas menggambarkan sebaran pengeluaran tiap-tiap rumah tangga berdasarkan jumlah anggota keluarga dan wilayah tinggalnya. Terlihat bahwa mayoritas responden merupakan penduduk wilayah perkotaan dengan jumlah pengeluaran terbanyak berasal dari keluarga beranggotakan 3-4 orang. Sama halnya dengan penduduk perdesaan/kabupaten, pengeluaran terbesar dikeluarkan oleh keluarga dengan anggota berjumlah 3-4 orang. Sedangkan pengeluaran paling kecil dikeluarkan oleh keluarga dengan anggota 11 orang pada wilayah perkotaan dan keluarga dengan anggota 9 orang pada wilayah perdesaan.