Hariyol (G1401221009) || Delita Nur Hasanah (G1401221018) || R. Mugni Chairil Arbi (G1401220163)
Data yang kami gunakan adalah Kasus Penyakit Malaria di Jawa Barat Tahun 2016 hingga 2022. Penyakit Malaria merupakan penyakit yang juga menjadi perhatian setelah DBD. Penyakit ini disebabkan oleh Nyamuk Anopheles Betina.Data ini memliki 8 peubah, dan peubah yang akan kami gunakan adalah “Nama Kabupaten/Kota”, “Jumlah Kasus” dan “Tahun”. Tujuan pada analisis ini adalah ingin mengetahui kasus malaria tertinggi terjadi di tahun berapa, di kota/kabupaten apa, dan bagaimana peningkatan atau penurunannya.
malaria <- read.csv("C:/#2 SEMESTER 4 IPB UNIVERSITY/#MATA KULIAH/VISUALISASI DATA/PRAK/data.jabarprov.go.id/malaria.csv",)
str(malaria)
## 'data.frame': 189 obs. of 8 variables:
## $ id : int 1 2 3 4 5 6 7 8 9 10 ...
## $ kode_provinsi : int 32 32 32 32 32 32 32 32 32 32 ...
## $ nama_provinsi : chr "JAWA BARAT" "JAWA BARAT" "JAWA BARAT" "JAWA BARAT" ...
## $ kode_kabupaten_kota: int 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 ...
## $ nama_kabupaten_kota: chr "KABUPATEN BOGOR" "KABUPATEN SUKABUMI" "KABUPATEN CIANJUR" "KABUPATEN BANDUNG" ...
## $ jumlah_kasus : int 0 66 0 1 5 59 0 0 11 0 ...
## $ satuan : chr "ORANG" "ORANG" "ORANG" "ORANG" ...
## $ tahun : int 2016 2016 2016 2016 2016 2016 2016 2016 2016 2016 ...
#melakukan subset data
Tahun_2016 <- subset(malaria,tahun==2016)
Tahun_2017 <- subset(malaria,tahun==2017)
Tahun_2018 <- subset(malaria,tahun==2018)
Tahun_2019 <- subset(malaria,tahun==2019)
Tahun_2020 <- subset(malaria,tahun==2020)
Tahun_2021 <- subset(malaria,tahun==2021)
Tahun_2022 <- subset(malaria,tahun==2022)
#Rata-rata jumlah kasus malaria pertahun di provinsi Jawa Barat
rata_list <- lapply(list(Tahun_2016, Tahun_2017, Tahun_2018, Tahun_2019, Tahun_2020, Tahun_2021, Tahun_2022), function(data) {
rata <- mean(data$jumlah_kasus)
return(rata)
})
names(rata_list) <-(2016:2022)
rata_list
## $`2016`
## [1] 9.259259
##
## $`2017`
## [1] 4.666667
##
## $`2018`
## [1] 8
##
## $`2019`
## [1] 8.62963
##
## $`2020`
## [1] 12.18519
##
## $`2021`
## [1] 6.703704
##
## $`2022`
## [1] 18.44444
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.2
#membuat data frame
malaria2 <-data.frame(
Tahun = c(2016, 2017, 2018, 2019, 2020, 2021, 2022),
Rata_rata = c(9.25, 4.67, 8, 8.62, 12.18, 6.7, 18.44)
)
# Membuat grafik line chart
grafik <- ggplot(data = malaria2, aes(x = Tahun, y = Rata_rata)) +
geom_line(color="red",size=2) +
geom_point(color="blue",size=3)+
geom_text(aes(label = Rata_rata), vjust = 0.5, color = "black", size = 3,nudge_y =0.5 )+
labs(x = "Tahun", y = "Rata-rata") +
ggtitle("Rata-rata Malaria per Tahun")+
scale_color_manual(values = c("red", "blue"), name = "Data Type") +
scale_x_continuous(breaks = malaria2$Tahun)+
theme(plot.title = element_text(hjust = 0.5))
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
# Menampilkan grafik
print(grafik)
Berdasarkan grafik diatas, terlihat rata-rata penyakit malaria dari tahun ke tahun mengalami peningkatan yang cukup signikan. Peningkatan rata-rata penyakit malaria paling tinggi yaitu tahun 2021 yang memiliki rata-rata malaria sebanyak 6.7 atau 7 orang menjadi 18.44 atau 19 orang di tahun 2022. Sedangkan kasus rata-rata malaria terendah terjadi di tahun 2017 yaitu sebanyak 4.67 atau 5 orang.
library(ggplot2)
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
kasus <- malaria %>% mutate(Ranking=rank(jumlah_kasus))
top10_kasus <-kasus %>%
top_n(10, wt=jumlah_kasus) %>%
arrange(desc(jumlah_kasus))
top10_kasus1 <- top10_kasus[,c(5:6,8:9)]
top10_kasus1
## nama_kabupaten_kota jumlah_kasus tahun Ranking
## 1 KOTA DEPOK 209 2022 189.0
## 2 KOTA DEPOK 187 2020 188.0
## 3 KABUPATEN SUKABUMI 66 2016 187.0
## 4 KABUPATEN TASIKMALAYA 59 2016 186.0
## 5 KABUPATEN SUKABUMI 43 2019 183.5
## 6 KOTA CIMAHI 43 2020 183.5
## 7 KOTA CIMAHI 43 2021 183.5
## 8 KOTA CIMAHI 43 2022 183.5
## 9 KOTA BANDUNG 41 2022 181.0
## 10 KOTA BOGOR 39 2022 180.0
colors <- c("#416D19","#9BCF53","#BFEA7C","#FFF67E","#ECB159")
ggplot(top10_kasus1, aes(x = nama_kabupaten_kota, y = jumlah_kasus, fill = as.factor(tahun))) +
geom_bar(stat = "identity", position = "dodge")+
labs(title = "Top 10 Kabupaten/Kota dengan Jumlah Kasus Malaria\n Tertinggi Tahun 2016-2022",
x = "Kabupaten/Kota",
y = "Jumlah Kasus",
fill = "Tahun") +
theme(axis.text.x = element_text(angle = 0, hjust = 2))+
coord_flip()+
scale_fill_manual(values = colors)+
theme(plot.title = element_text(hjust = 0.5))
Berdasarkan grafik diatas, dapat dilihat bahwa Kota Depok pada Tahun 2022 merupakan Kota dengan jumlah kasus malaria tertinggi sepanjang tahun 2016 hingga 2022, dengan jumlah 250 lebih kasus. Di Kota Cimahi jumlah kasus malaria terlihat konstan selama 3 tahun berturut-turut, yaitu dari tahun 2020 hingga 2022. Selanjutnya adalah Kota Bogor, Bandng dan Tasikmalaya, jumlah kasus malaria tertinggi di kota tersebut hanya terjadi dalam satu tahun saja, tidak seperti kota lainnya yang terjadi selama lebih dari 1 tahun.
library(dplyr)
top10_list <- lapply(list(Tahun_2018, Tahun_2019, Tahun_2020, Tahun_2021, Tahun_2022), function(data) {
data %>%
arrange(desc(jumlah_kasus)) %>%
head(10)
})
top10lah <- do.call(rbind, top10_list)
Top10 <-top10lah[,c(5:6,8)]
Top10
## nama_kabupaten_kota jumlah_kasus tahun
## 1 KABUPATEN SUKABUMI 36 2018
## 2 KABUPATEN TASIKMALAYA 27 2018
## 3 KOTA BANDUNG 23 2018
## 4 KOTA CIMAHI 22 2018
## 5 KOTA BEKASI 19 2018
## 6 KABUPATEN CIREBON 18 2018
## 7 KOTA BOGOR 14 2018
## 8 KABUPATEN BANDUNG 9 2018
## 9 KABUPATEN CIAMIS 8 2018
## 10 KABUPATEN SUMEDANG 8 2018
## 11 KABUPATEN SUKABUMI 43 2019
## 12 KABUPATEN INDRAMAYU 36 2019
## 13 KOTA BOGOR 31 2019
## 14 KABUPATEN PANGANDARAN 25 2019
## 15 KOTA BANDUNG 24 2019
## 16 KABUPATEN TASIKMALAYA 20 2019
## 17 KOTA CIMAHI 11 2019
## 18 KABUPATEN BOGOR 9 2019
## 19 KABUPATEN GARUT 5 2019
## 20 KABUPATEN CIREBON 5 2019
## 21 KOTA DEPOK 187 2020
## 22 KOTA CIMAHI 43 2020
## 23 KABUPATEN INDRAMAYU 19 2020
## 24 KOTA BOGOR 18 2020
## 25 KABUPATEN SUKABUMI 11 2020
## 26 KOTA BANDUNG 8 2020
## 27 KABUPATEN TASIKMALAYA 7 2020
## 28 KOTA BEKASI 7 2020
## 29 KABUPATEN BOGOR 6 2020
## 30 KABUPATEN PANGANDARAN 4 2020
## 31 KOTA CIMAHI 43 2021
## 32 KABUPATEN INDRAMAYU 19 2021
## 33 KOTA DEPOK 19 2021
## 34 KOTA BOGOR 18 2021
## 35 KABUPATEN TASIKMALAYA 15 2021
## 36 KABUPATEN BANDUNG 12 2021
## 37 KOTA TASIKMALAYA 10 2021
## 38 KOTA BANDUNG 8 2021
## 39 KABUPATEN SUKABUMI 7 2021
## 40 KABUPATEN BOGOR 5 2021
## 41 KOTA DEPOK 209 2022
## 42 KOTA CIMAHI 43 2022
## 43 KOTA BANDUNG 41 2022
## 44 KOTA BOGOR 39 2022
## 45 KABUPATEN TASIKMALAYA 29 2022
## 46 KABUPATEN SUKABUMI 28 2022
## 47 KOTA BEKASI 25 2022
## 48 KABUPATEN BOGOR 11 2022
## 49 KABUPATEN INDRAMAYU 10 2022
## 50 KABUPATEN GARUT 9 2022
library(ggplot2)
ggplot(Top10, aes(x = tahun, y = jumlah_kasus, fill = factor(tahun))) +
geom_boxplot() +
scale_fill_manual(values = c("#999999", "#E69F00","red","orange","green"), name = "Tahun")+
labs(x = "Tahun", y = "Jumlah Kasus", title = "Top 10 kabupaten/kota dengan Jumlah Kasus Malaria\n Tertinggi berdasarkan Tahun",color = "Statistik") +
stat_summary(fun = "mean", geom = "point", shape = 18, size = 3, color = "blue", position = position_nudge(0.2)) + # Menambahkan titik rata-rata
stat_summary(fun = "median", geom = "point", shape = 8, size = 3, color = "black", position = position_nudge(-0.2)) + # Menambahkan titik median
stat_summary(fun.data = "mean_cl_normal", geom = "errorbar", width = 0.2, color = "blue") + # Menambahkan error bar untuk rata-rata
stat_summary(fun.data = "median_hilow", geom = "errorbar", width = 0.2, color = "black")+# Menambahkan error bar untuk median
guides(color = guide_legend(title = "Statistik", override.aes = list(shape = c(18, 8), size = c(3, 3), color = c("blue", "black"))))+
theme(plot.title = element_text(hjust = 0.5))
Nilai tengah atau median tertinggi pada top 10 kabupaten/kota dengan jumlah kasus malaria tertinggi terjadi pada tahun 2022. Pada tahun ini sebaran boxplot adalah menjulur ke kanan dan terdapat 1 nilai outlier atas. Hal ini membuktikan bahwa pada tahun tersebut terjadi kasus malaria yang tinggi. Kemudian, pada tahun 2018 hingga 2019, terjadi peningkatan yang cukup kecil. Namun, pada tahun 2020 terjadi peningkatan yang tinggi dan diiringi penurunan yang tinggi juga pada tahun 2021.
d <- rbind(subset(Top10, tahun==2020),
subset(Top10, tahun==2021),
subset(Top10, tahun==2022))
ggplot(d)+
geom_density(aes(x=jumlah_kasus,fill = factor(tahun), color= factor(tahun)),alpha = 0.5, size = 1.2)+
labs(title = "Sebaran Kasus Malaria Tertinggi\n Tahun 2020-2022",
x="Jumlah Kasus",
y="Frekuensi")+scale_fill_manual(values = c("#535C91", "#1B1A55", "#070F2B"))+scale_color_manual(values = c("#535C91", "#1B1A55", "#070F2B"))+
theme(plot.title = element_text(hjust = 0.5))
Pada diagram density diatas, tahun 2022 memiliki tinggi sebaran yang paling rendah, ini berarti bahwa kasus malaria tertinggi terjadi di tahun ini. Berbeda dengan tahun 2021 dengan sebaran tertinggi yang menandakan bahwa kasus malaria terendah terjadi di tahun ini. Tak hanya itu, pencilan pun muncul di dua tahun tersebut. Namun, tinggi sebaran pada tahun 2020 tak setinggi tahun 2021, ini membuktikan bahwa kasus malaria di tahun 2020 cukup tinggi dan diikuti penurunan pada tahun 2021 kemudian meningkat dengan drastis di tahun 2022.
library(treemap)
## Warning: package 'treemap' was built under R version 4.3.2
# Pastikan 'jumlah_kasus' adalah numerik
malaria$jumlah_kasus <- as.numeric(malaria$jumlah_kasus)
# Hitung jumlah kasus Malaria untuk setiap kabupaten/kota
aggregated_data <- aggregate(jumlah_kasus ~ nama_kabupaten_kota, data = malaria, FUN = sum)
# Hitung total jumlah kasus Malaria di semua kabupaten/kota
total_cases <- sum(aggregated_data$jumlah_kasus)
# Hitung proporsi relatif setiap kabupaten/kotanya
aggregated_data$proporsi <- aggregated_data$jumlah_kasus / total_cases * 100
tm <- treemap(aggregated_data,
index = "nama_kabupaten_kota",
vSize = "proporsi",
vColor = "proporsi",
title = " Proporsi Kasus Malaria di Jawa Barat Tahun 2016-2022",
fontsize.labels = c(12),
fontsize.title = 11,
palette = "Reds"
)+theme(plot.title = element_text(hjust = 0.5))
# 3 kota dengan proporsi paling tinggi
top_3_proporsi <- head(aggregated_data[order(aggregated_data$proporsi, decreasing = TRUE), ], 3)
top_3_proporsi
## nama_kabupaten_kota jumlah_kasus proporsi
## 25 KOTA DEPOK 440 24.00436
## 16 KABUPATEN SUKABUMI 195 10.63830
## 18 KABUPATEN TASIKMALAYA 190 10.36552
Dapat dilihat pada diagram diatas bahwa Kota Depok menjadi Kota dengan proporsi kasus malaria paling banyak di Jawa Barat. Posisi kedua adalah Kabupaten Sukabumi dan Tasikmalaya dengan proporsi yang cukup mirip. Proporsi terbanyak selanjutnya adalah kota Cimahi, kota Bogor dan Bandung. Dan jika diperhatikan, proporsi kota Depok hampir mendekati jumlah proporsi kota/kabupaten dengan proporsi yang kecil-kecil, seperti kabupaten Indramayu, Bekasi, dan lainnya.
# Pastikan 'jumlah_kasus' adalah dalam bentuk numerik
malaria$jumlah_kasus <- as.numeric(malaria$jumlah_kasus)
# Hitung jumlah kasus Malaria untuk setiap tahun
aggregated_data <- aggregate(jumlah_kasus ~ tahun, data = malaria, FUN = sum)
# Hitung total jumlah kasus Malaria di seluruh dataset
total_cases <- sum(aggregated_data$jumlah_kasus)
# Hitung proporsi relatif kasus Malaria untuk setiap tahun
aggregated_data$proporsi <- aggregated_data$jumlah_kasus / total_cases * 100
# tahun dengan proporsi tertinggi
top_7_proporsi <- head(aggregated_data[order(aggregated_data$proporsi, decreasing = TRUE), ], 7)
top_7_proporsi
## tahun jumlah_kasus proporsi
## 7 2022 498 27.168576
## 5 2020 329 17.948718
## 1 2016 250 13.638843
## 4 2019 233 12.711402
## 3 2018 216 11.783961
## 6 2021 181 9.874523
## 2 2017 126 6.873977
library(plotly)
## Warning: package 'plotly' was built under R version 4.3.3
##
## 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
data <- top_7_proporsi
# Plot diagram donat 3D
plot_ly(data, labels = ~tahun, values = ~proporsi, type = 'pie', hole = 0.6) %>%
layout(title = "Proporsi Kasus Malaria per Tahun",
scene = list(aspectmode = "cube",
xaxis = list(title = ""),
yaxis = list(title = ""),
zaxis = list(title = "")))
Berdasarkan diagram diatas, bahwa tahun 2022 memiliki proporsi kasus malaria terbanyak yaitu 27.2%. Proporsi terbanyak berikutnya adalah di tahun 2020 dengan 17.9%. Namun, tahun 2021 adalah tahun yang memiliki proporsi terendah kedua. Hal ini membuktikan bahwa terjadi peningkatan dan penurunan secara drastis sepanjang tahun 2020 hingga 2022. Kemudian, proporsi terendah kasus malaria terjadi di tahun 2017.