library(tidyr)
library(dplyr)
##
## 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
library(ggplot2)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats 1.0.0 ✔ readr 2.1.5
## ✔ lubridate 1.9.3 ✔ stringr 1.5.1
## ✔ purrr 1.0.2 ✔ tibble 3.2.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(ggridges)
library(GGally)
## Registered S3 method overwritten by 'GGally':
## method from
## +.gg ggplot2
library(plotly)
##
## Attaching package: 'plotly'
##
## The following object is masked from 'package:ggplot2':
##
## last_plot
##
## The following object is masked from 'package:stats':
##
## filter
##
## The following object is masked from 'package:graphics':
##
## layout
library(readxl)
data <- read_xlsx("C:/Users/asus/Documents/Semester 4/Visualisasi Data/TUGAS/praktikum.xlsx")
data
## # A tibble: 25,890 × 5
## Kabupaten Daerah Bahan_atap tangki_septik air_minum
## <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 7 2 2 98 998
## 2 72 1 3 0 0
## 3 6 2 2 20 0
## 4 72 1 2 98 10
## 5 77 1 2 98 0
## 6 77 1 2 98 0
## 7 75 1 2 98 0
## 8 11 2 2 98 998
## 9 10 2 2 0 0
## 10 1 1 1 8 0
## # ℹ 25,880 more rows
data_kabupaten <- data.frame(
kode_kabupaten = c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,71,72,73,74,75,76,77,78,79),
nama_kabupaten = c("KAB. BOGOR", "KAB. SUKABUMI", "KAB. CIANJUR", "KAB. BANDUNG", "KAB. GARUT", "KAB. TASIKMALAYA", "KAB. CIAMIS", "KAB. KUNINGAN", "KAB. CIREBON", "KAB. MAJALENGKA", "KAB. SUMEDANG", "KAB. INDRAMAYU", "KAB. SUBANG", "KAB. PURWAKARTA", "KAB. KARAWANG", "KAB. BEKASI", "KAB. BANDUNG BARAT", "KAB. PANGANDARAN", "KOTA BOGOR", "KOTA SUKABUMI", "KOTA BANDUNG", "KOTA CIREBON", "KOTA BEKASI", "KOTA DEPOK", "KOTA CIMAHI", "KOTA TASIKMALAYA", "KOTA BANJAR")
)
Databesaran1 <- left_join(data, data_kabupaten, by = c("Kabupaten"= "kode_kabupaten"))
str(Databesaran1)
## tibble [25,890 × 6] (S3: tbl_df/tbl/data.frame)
## $ Kabupaten : num [1:25890] 7 72 6 72 77 77 75 11 10 1 ...
## $ Daerah : num [1:25890] 2 1 2 1 1 1 1 2 2 1 ...
## $ Bahan_atap : num [1:25890] 2 3 2 2 2 2 2 2 2 1 ...
## $ tangki_septik : num [1:25890] 98 0 20 98 98 98 98 98 0 8 ...
## $ air_minum : num [1:25890] 998 0 0 10 0 0 0 998 0 0 ...
## $ nama_kabupaten: chr [1:25890] "KAB. CIAMIS" "KOTA SUKABUMI" "KAB. TASIKMALAYA" "KOTA SUKABUMI" ...
ggplot(Databesaran1, aes(x = nama_kabupaten)) +
geom_bar(fill = "steelblue") +
labs(title = "Jumalah Responden Setiap Kabupaten/Kota di Jawa Barat", x = "Kabupaten", y = "Jumlah Responden") +
theme_classic() +
coord_flip()
Databesaran1%>%count(nama_kabupaten)%>%
ggplot()+
geom_col(aes(x=fct_reorder(as.factor(nama_kabupaten),n),y=n), fill="pink",
width=0.4) +
scale_y_continuous(expand = c(0,0))+
coord_flip() +
ggtitle("Jumlah Responden Setiap Kabupaten/Kota di Jawa Barat") +
xlab("") +
ylab("Jumlah Responden") +
theme_classic() +
theme(plot.title = element_text(hjust = .5, size = 10))
Berdasarkan grafik tersebut dapat diketahui bahwa responden di Jawa
Barat terbanyak di Kabupaten Bogor dengan jumlah lebih dari 1250
responden.
data_stacked <- data.frame(kode_Daerah = c(1,2), nama_daerah = c("Perkotaan", "Perdesaan"))
Data_stacked <- left_join(Databesaran1, data_stacked, by = c("Daerah"= "kode_Daerah"))
str(Data_stacked)
## tibble [25,890 × 7] (S3: tbl_df/tbl/data.frame)
## $ Kabupaten : num [1:25890] 7 72 6 72 77 77 75 11 10 1 ...
## $ Daerah : num [1:25890] 2 1 2 1 1 1 1 2 2 1 ...
## $ Bahan_atap : num [1:25890] 2 3 2 2 2 2 2 2 2 1 ...
## $ tangki_septik : num [1:25890] 98 0 20 98 98 98 98 98 0 8 ...
## $ air_minum : num [1:25890] 998 0 0 10 0 0 0 998 0 0 ...
## $ nama_kabupaten: chr [1:25890] "KAB. CIAMIS" "KOTA SUKABUMI" "KAB. TASIKMALAYA" "KOTA SUKABUMI" ...
## $ nama_daerah : chr [1:25890] "Perdesaan" "Perkotaan" "Perdesaan" "Perkotaan" ...
data_stacked2 <- data.frame(Bahan_atap = c(1,2,3,4,5,6,7,8), nama_bahan = c("Beton", "Genteng", "Seng", "Asbes", "Bambu", "Kayu", "Jerami", "lainnya"))
Data_stacked2 <- left_join(Data_stacked, data_stacked2, by = c("Bahan_atap"= "Bahan_atap"))
str(Data_stacked2)
## tibble [25,890 × 8] (S3: tbl_df/tbl/data.frame)
## $ Kabupaten : num [1:25890] 7 72 6 72 77 77 75 11 10 1 ...
## $ Daerah : num [1:25890] 2 1 2 1 1 1 1 2 2 1 ...
## $ Bahan_atap : num [1:25890] 2 3 2 2 2 2 2 2 2 1 ...
## $ tangki_septik : num [1:25890] 98 0 20 98 98 98 98 98 0 8 ...
## $ air_minum : num [1:25890] 998 0 0 10 0 0 0 998 0 0 ...
## $ nama_kabupaten: chr [1:25890] "KAB. CIAMIS" "KOTA SUKABUMI" "KAB. TASIKMALAYA" "KOTA SUKABUMI" ...
## $ nama_daerah : chr [1:25890] "Perdesaan" "Perkotaan" "Perdesaan" "Perkotaan" ...
## $ nama_bahan : chr [1:25890] "Genteng" "Seng" "Genteng" "Genteng" ...
ggplot(Data_stacked2, aes(x = nama_bahan, fill = factor(nama_daerah))) +
geom_bar(position = "stack") +
labs(x = "Daerah", y = "Jumlah", fill = "Bahan Atap") +
theme_minimal()
Berdasarkan grafik tersebut dapat dilihat bahwa bangunan utama atap
rumah di Jawa Barat paling banyak menggunakan genteng. Selain itu juga
dapat lihat bahwa penggunaan genteng di perdesaan lebih banyak daripada
perkotaan.
DataDensity2 <- data %>%
filter(!air_minum %in% c(0, 998))
DataDensity2
## # A tibble: 12,908 × 5
## Kabupaten Daerah Bahan_atap tangki_septik air_minum
## <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 72 1 2 98 10
## 2 1 1 2 12 7
## 3 6 2 2 10 10
## 4 2 1 2 13 10
## 5 16 1 2 5 15
## 6 4 1 2 0 60
## 7 16 1 2 5 5
## 8 2 1 2 2 1
## 9 77 1 4 98 15
## 10 13 1 2 15 10
## # ℹ 12,898 more rows
ggplot(DataDensity2)+
geom_histogram(aes(x = air_minum),fill="#69b3a2", color="#e9ecef", alpha=0.8)+
labs(title="")+
xlab("Lama Tempuh")+
ylab("Jumlah")+
xlim(0,35)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 134 rows containing non-finite values (`stat_bin()`).
## Warning: Removed 2 rows containing missing values (`geom_bar()`).
Grafik tersebut memiliki sebran bimodal karena memiliki dua puncak.
DataDensity <- data %>%
filter(!tangki_septik %in% c(0, 98))
DataDensity
## # A tibble: 10,791 × 5
## Kabupaten Daerah Bahan_atap tangki_septik air_minum
## <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 6 2 2 20 0
## 2 1 1 1 8 0
## 3 16 1 2 6 0
## 4 1 1 2 12 7
## 5 6 2 2 10 10
## 6 2 1 2 13 10
## 7 16 1 2 5 15
## 8 2 2 2 8 0
## 9 4 1 2 17 0
## 10 12 1 2 3 0
## # ℹ 10,781 more rows
ggplot(DataDensity)+
geom_density(aes(x=tangki_septik,fill= "Lama Bangunan" ),color="#e9ecef", alpha=0.4)+
labs(title="Density Sebaran Lama Bangunan Tangki Septik")+
xlab("Lama dalam Tahun")+
ylab("Jumlah")+
xlim(0, 50)
## Warning: Removed 54 rows containing non-finite values (`stat_density()`).
Berdasarkan Density Plot tersebut dapat dilihat bahwa sebaran datanya
menjulur ke kanan dengan frekuensi terbanyak pada kurun waktu kurang
lebih 10 tahun
Pie_chart <- data.frame(
Daerah = c("Perkotaan", "Pedesaan"),
count = table(cut(Databesaran1$Daerah, breaks=c(-Inf,1,2), labels=c("Perkotaan", "Pedesaan")))
)
Pie_chart
## Daerah count.Var1 count.Freq
## 1 Perkotaan Perkotaan 16953
## 2 Pedesaan Pedesaan 8937
ggplot(Pie_chart, aes(x = "", y = count.Freq , fill = Daerah )) +
geom_bar(stat = "identity", width = 1) +
coord_polar("y", start = 0) +
scale_fill_brewer("Blues")+
theme_void() +
theme(legend.position = "right") +
labs(title = "Komposisi Daerah", fill = "Perkotaan/Pedesaan") +
geom_text(aes(label = count.Freq), position = position_stack(vjust = 0.5))
Berdasarkan Pie Chart di atas dapat diketahui bahwa komposisi di perkotaan lebih besar daripada di pedesaan
Pie_chart <- data.frame(
Bahan = c("Beton", "Genteng", "Seng", "Asbes", "Bambu", "Kayu", "Jerami", "lainnya"),
count = table(cut(Data_stacked2$Bahan_atap, breaks=c(-Inf,1,2,3,4,5,6,7,8), labels=c("Beton", "Genteng", "Seng", "Asbes", "Bambu", "Kayu", "Jerami", "lainnya")))
)
Pie_chart
## Bahan count.Var1 count.Freq
## 1 Beton Beton 793
## 2 Genteng Genteng 21151
## 3 Seng Seng 436
## 4 Asbes Asbes 3308
## 5 Bambu Bambu 149
## 6 Kayu Kayu 4
## 7 Jerami Jerami 7
## 8 lainnya lainnya 42
ggplot(Pie_chart, aes(x = "", y = count.Freq , fill = Bahan )) +
geom_bar(stat = "identity", width = 1) +
coord_polar("y", start = 0) +
scale_fill_brewer("purples")+
theme_void() +
theme(legend.position = "right") +
labs(title = "Komposisi Bahan Atap", fill = "Bahan Atap") +
geom_text(aes(label = count.Freq), position = position_stack(vjust = 0.5))
Berdasarkan grafik tersebut dapat dilihat bahwa Warga Jawa Barat mayoritas menggunakan bahan atap berupa genteng.