library(readxl)
## Warning: package 'readxl' was built under R version 4.3.2
data <- read.csv("C:/Users/Lenovo/Downloads/data_bersih_kelompok_5.csv", header = TRUE, sep=",")
str(data)
## 'data.frame': 84688 obs. of 100 variables:
## $ X : int 0 1 2 3 4 5 6 7 8 9 ...
## $ URUT : int 500001 500001 500001 500001 500002 500002 500003 500003 500003 500004 ...
## $ PSU : int 12448 12448 12448 12448 31373 31373 12092 12092 12092 31135 ...
## $ SSU : int 123442 123442 123442 123442 311039 311039 119908 119908 119908 308689 ...
## $ WI1 : int 12435 12435 12435 12435 31360 31360 12079 12079 12079 31122 ...
## $ WI2 : int 123427 123427 123427 123427 311024 311024 119893 119893 119893 308674 ...
## $ R101 : int 32 32 32 32 32 32 32 32 32 32 ...
## $ R102 : int 7 7 7 7 72 72 6 6 6 72 ...
## $ R105 : int 2 2 2 2 1 1 2 2 2 1 ...
## $ R401 : int 1 2 3 4 1 2 1 2 3 1 ...
## $ R403 : int 1 3 6 6 1 3 1 2 3 1 ...
## $ R404 : int 4 2 1 1 3 1 2 2 1 2 ...
## $ R405 : int 2 2 2 1 2 1 1 2 2 1 ...
## $ R407 : int 68 46 16 6 62 38 54 41 10 40 ...
## $ R408 : int 0 5 0 0 0 0 1 1 0 1 ...
## $ R409 : int 20 22 0 0 16 0 27 18 0 16 ...
## $ R406A: int 5 2 23 17 6 28 10 12 21 26 ...
## $ R406B: int 4 10 1 8 12 7 11 11 4 3 ...
## $ R406C: int 1954 1976 2007 2016 1960 1984 1968 1981 2012 1982 ...
## $ R410 : int 2 2 2 2 1 1 2 2 2 2 ...
## $ R501 : int 1 1 0 0 2 0 1 1 0 1 ...
## $ R502 : int 1 2 3 4 1 1 1 1 1 1 ...
## $ R503 : int 0 1 2 2 0 1 0 0 2 0 ...
## $ R504 : int 1 1 1 1 1 1 1 1 1 1 ...
## $ R506 : int 2 2 2 1 2 1 1 2 2 1 ...
## $ R507 : int 1 1 1 1 1 1 1 1 1 1 ...
## $ R508 : int 5 2 2 2 2 1 5 5 1 1 ...
## $ R509 : int 1 1 1 1 1 1 1 1 1 1 ...
## $ R601 : int 32 32 32 32 32 32 32 32 32 32 ...
## $ R602 : int 7 7 7 7 72 72 6 6 6 72 ...
## $ R603 : int 32 32 32 32 32 32 32 32 32 32 ...
## $ R604 : int 7 7 7 7 72 72 6 6 6 72 ...
## $ R605 : int 0 0 0 3 0 0 0 0 4 0 ...
## $ R606 : int 0 0 0 1 0 0 0 0 0 0 ...
## $ R607 : int 1 1 1 1 1 1 1 1 1 1 ...
## $ R608 : int 1 1 1 1 5 5 1 1 1 1 ...
## $ R609 : int 5 5 5 5 5 5 5 5 5 5 ...
## $ R610 : int 3 3 3 2 3 3 3 3 2 3 ...
## $ R611 : int 0 0 0 1 0 0 0 0 1 0 ...
## $ R612 : int 3 19 15 3 3 3 13 8 3 8 ...
## $ R613 : int 8 8 1 1 8 8 8 8 5 8 ...
## $ R614 : int 3 19 8 25 3 3 13 8 25 8 ...
## $ R615 : int 0 0 5 5 0 0 0 0 5 0 ...
## $ R616 : int 0 0 5 5 0 0 0 0 5 0 ...
## $ R617 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ R618 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ R619 : int 0 0 3 1 0 0 0 0 2 0 ...
## $ R620 : int 0 0 0 0 0 0 0 0 3 0 ...
## $ R621 : int 0 0 0 0 0 0 0 0 4 0 ...
## $ R701 : int 1 1 5 5 5 1 1 5 5 1 ...
## $ R702 : int 1 5 5 5 5 5 1 5 5 1 ...
## $ R704 : int 3 3 3 0 3 1 1 3 2 1 ...
## $ R705 : int 5 5 5 0 5 0 0 5 5 0 ...
## $ R706 : int 0 0 0 0 0 11 12 0 0 13 ...
## $ R707 : int 0 0 0 0 0 5 1 0 0 4 ...
## $ R708 : int 0 0 0 0 0 48 50 0 0 48 ...
## $ R709 : int 0 0 0 0 0 48 50 0 0 97 ...
## $ R801 : int 5 1 1 5 1 1 1 1 1 1 ...
## $ R802 : int 5 1 1 5 1 1 1 1 1 1 ...
## $ R808 : int 5 1 1 5 5 5 1 1 1 1 ...
## $ R812 : int 5 5 1 5 5 5 5 5 5 5 ...
## $ R901 : int 5 5 5 5 5 5 5 5 5 5 ...
## $ R902 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ R903 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ R904 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ R905 : int 5 5 5 5 5 5 5 5 5 5 ...
## $ R906 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ R907 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ R908 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ R909 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ R910 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ R911 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ R912 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ R913 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ R914 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ R915 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ R916 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ R1001: int 1 1 1 1 1 1 1 1 1 1 ...
## $ R1002: int 4 4 4 4 4 4 4 4 4 4 ...
## $ R1003: int 8 8 8 8 8 8 8 8 8 8 ...
## $ R1004: int 4 4 4 4 4 4 4 4 4 4 ...
## $ R1005: int 8 8 8 8 8 8 8 8 8 8 ...
## $ R1006: int 4 4 4 4 4 4 4 4 4 4 ...
## $ R1007: int 8 8 8 8 8 8 8 8 8 8 ...
## $ R1008: int 4 4 4 4 4 4 4 4 4 4 ...
## $ R1009: int 8 8 8 8 8 8 8 8 8 8 ...
## $ R1010: int 5 5 5 5 5 5 5 5 5 5 ...
## $ R1102: int 5 5 1 1 5 5 5 5 5 5 ...
## $ R1103: int 0 0 5 5 0 0 0 0 0 0 ...
## $ R1104: int 0 0 1 1 0 0 0 0 0 0 ...
## $ R1105: int 0 0 5 5 0 0 0 0 0 0 ...
## $ R1106: int 0 0 5 5 0 0 0 0 0 0 ...
## $ R1108: int 0 0 0 0 0 0 0 0 0 0 ...
## $ R1201: int 5 5 5 5 5 5 5 5 5 5 ...
## $ R1203: int 0 0 0 0 0 0 0 0 0 0 ...
## $ R1206: int 5 5 5 5 5 5 5 5 5 5 ...
## $ R1207: int 5 5 5 5 5 1 1 5 5 1 ...
## $ R1208: int 0 0 0 0 0 35 49 0 0 112 ...
## $ R1209: int 5 5 5 5 5 1 1 5 5 1 ...
## [list output truncated]
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.3.2
##
## 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
data_clean <- data %>%
mutate(
R405 = ifelse(R405 == 0, NA, R405),
R606 = ifelse(R606 == 0, NA, R606),
R607 = ifelse(R607 == 0, NA, R607),
R608 = ifelse(R608 == 0, NA, R608),
R609 = ifelse(R609 == 0, NA, R609),
R610 = ifelse(R610 == 0, NA, R610),
R612 = ifelse(R612 == 0, NA, R612),
R616 = ifelse(R616 == 0, NA, R616),
R617 = ifelse(R617 == 0, NA, R617),
R907 = ifelse(R907 == 0, NA, R907)
)
Visualisasi Besaran
library(tidyr)
data_pivot1 <- data_clean %>%
pivot_longer(cols = c(R607, R608, R609), names_to = "Kemampuan Membaca Jenis Huruf", values_to = "Kemampuan")
library(ggplot2)
library(dplyr)
data_count <- table(data_pivot1$`Kemampuan Membaca Jenis Huruf`, data_pivot1$Kemampuan)
ggplot(data.frame(data_count), aes(x = Var1, y = Freq, fill = factor(Var2), label = Freq)) +
geom_bar(stat = "identity", width = 0.5) +
scale_fill_manual(values = c("5" = "red", "1" = "green"), labels = c("Bisa", "Tidak Bisa")) +
labs(x = "Kemampuan Membaca dan Menulis Jenis Huruf", y = "Frekuensi", fill = "Kemampuan") +
scale_x_discrete(labels = c("R607" = "Huruf Latin", "R608" = "Huruf Hijaiyah", "R609" = "Huruf Lainnya")) +
theme_minimal()
“Grafik stacked bar chart tersebut menunjukkan bahwa mayoritas anggota rumah tangga (ART) yang berumur di atas 5 memiliki kemampuan untuk membaca dan menulis huruf latin. Selain itu, lebih dari 50% responden dapat membaca dan menulis huruf hijaiyah. Akan tetapi, hanya sedikit ART di atas 5 tahun yang memiliki kemampuan membaca dan menulis selain huruf latin dan hijaiyah. Huruf tersebut meliputi huruf Jawa, China, kanji, dan lain-lainnya.”
library(dplyr)
data_clean2 <- data_pivot1 %>%
filter(Kemampuan != 5)
library(ggplot2)
data_count <- table(data_clean2$`Kemampuan Membaca Jenis Huruf`, data_clean2$Kemampuan)
ggplot(data.frame(data_count), aes(x = Var1, y = Freq, color = factor(Var2))) +
geom_point(stat = "identity", size = 3, color = "blue") +
geom_segment(aes(x = Var1, xend = Var1, y = 0, yend = Freq), color = "black") +
geom_text(aes(x = Var1, y = Freq, label = Freq), vjust = -0.5, color = "black", size = 3) +
coord_flip()+
labs(x = "Kemampuan Membaca Jenis Huruf", y = "Frekuensi", color = "Kemampuan") +
scale_x_discrete(labels = c("R607" = "Huruf Latin", "R608" = "Huruf Hijaiyah", "R609" = "Huruf Lainnya")) +
theme_minimal()
“Grafik stacked bar chart tersebut menunjukkan bahwa mayoritas anggota rumah tangga (ART) yang berumur di atas 5 memiliki kemampuan untuk membaca dan menulis huruf latin, yaitu sebanyak 76.167 orang. Selain itu, lebih dari 50% responden dapat membaca dan menulis huruf hijaiyah, yaitu sebanyak 56.424 orang. Akan tetapi, hanya sedikit ART di atas 5 tahun yang memiliki kemampuan membaca dan menulis selain huruf latin dan hijaiyah, yaitu sebanyak 2.728 orang. Huruf tersebut meliputi huruf Jawa, China, kanji, dan lain-lainnya.”
Visualisasi Sebaran
library(ggplot2)
ggplot(data_clean)+
geom_histogram(aes(x=R617),fill="#69b3a2", color="#e9ecef", alpha=0.5)+
labs(title="Jumlah Uang PIP yang Diterima")+
xlab("Jumlah Uang (Rupiah)")+
ylab("Frekuensi")
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 81597 rows containing non-finite values (`stat_bin()`).
“Berdasarkan histogram di atas, dapat disimpulkan bahwa data jumlah uang PIP yang diterima menyebar ke kanan. Dengan mayoritas (puncak) terletak di jumlah uang kurang dari 2.500.000 rupiah.”
library(tidyr)
data_pivot2 <- data_clean %>%
pivot_longer(cols = c(R907), names_to = "Jumlah Kasus Pencurian yang Dilaporkan ke Polisi", values_to = "Pencurian")
library(ggplot2)
# Membuat density plot
ggplot(data_pivot2, aes(x = Pencurian, fill = `Jumlah Kasus Pencurian yang Dilaporkan ke Polisi`)) +
geom_density(alpha = 0.5) +
labs(title = "Density Plot Jumlah Kasus Pencurian yang Dilaporkan ke Polisi") +
xlab("Jumlah Kasus Pencurian") +
ylab("Density")
## Warning: Removed 84553 rows containing non-finite values (`stat_density()`).
“Berdasarkan density plot di atas, mayoritas jumlah kasus pencurian yang dilaporkan ke polisi adalah sebanyak satu kasus. Data tersebut menyebar ke kanan.”
Visualisasi Komposisi
library(tidyr)
data_pivot3 <- data_clean %>%
pivot_longer(cols = c(R610), names_to = "Pendidikan Terakhir", values_to = "Pendidikan")
library(ggplot2)
data_count2 <- table(data_pivot3$`Pendidikan Terakhir`, data_pivot3$Pendidikan)
ggplot(data.frame(data_count2), aes(x = "", y = Freq, fill = factor(Var2))) +
geom_bar(width = 1, stat = "identity") +
coord_polar("y", start = 0) +
scale_fill_manual(values = c("1" = "#FFF380", "2" = "#FFFF33", "3" = "#F6BE00"), labels = c("Belum Pernah Bersekolah", "Masih Bersekolah", "Tidak Bersekolah Lagi")) +
labs(title = "Partisipasi Sekolah", fill = "Pendidikan Terakhir") +
theme_void() +
theme(plot.title = element_text(hjust = 0.5))+
geom_text(aes(label = Freq), position = position_stack(vjust = 0.5), color="black", size=3)
“Berdasarkan pie chart tersebut, didapatkan bahwa mayoritas untuk anggota rumah tangga di atas 5 tahun tidak bersekolah lagi. Sedangkan posisi kedua ART masih bersekolah dan komposisi terminoritas berstatus belum pernah bersekolah.”
library(tidyr)
data_pivot4 <- data_clean %>%
pivot_longer(cols = c(R405, R612), names_to = "Jenjang Terakhir Pendidikan", values_to = "Pendidikan")
library(treemap)
## Warning: package 'treemap' was built under R version 4.3.3
data$R612<- as.numeric(data$R802)
data <- data[!(data$R802 == 0), ]
data <- data[!(data$R102 == 0), ]
data <- data[!(data$R405 == 0), ]
treemap(data,
index=c("R405", "R102"),
vSize="R802",
algorithm="pivotSize",
draw =TRUE,
title="Treemap: Kepemilikan HP berdasarkan Jenis Kelamin dan Wilayah",
fontsize.title=11,
fontsize.labels=12,
fontcolor.labels="white")
R102: Kumpulan Kabupaten/ Kota
R405: Jenis Kelamin
R802: Kepemilikan HP
“Pada treemap, jika dibandingkan berdasarkan jenis kelaminnya maka akan dihasilkan:
a.) Untuk jenis kelamin laki-laki
Mayoritas penduduk laki-laki yang memiliki HP berasal dari daerah Bogor(1), sedangkan minoritasnya diraih oleh daerah Kota Cirebon(74) dan Pangandaran(18).
b.) Untuk jenis kelamin perempuan Mayoritas penduduk perempuan yang memiliki HP berasal dari daerah Bogor(1), sedangkan minoritasnya diraih oleh daerah Kota Cirebon(74) dan Pangandaran(18).
Sebenarnya, hubungan ini masih perlu tindak lanjut. Perlu ditinjau kembali karena jika dilihat melalui grafik ini dapat terlihat bahwa komposisi antara jenis kelamin berbeda.”