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)
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.
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.
# 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
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.
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
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.