title: “Tugas Bintel R Markdown” author: “Nabila Rafa Aisha” date: “2025-05-25” output: html_document —
Nama : Nabila Rafa Aisha
NRP : 5006221089
Pada studi kasus ini data yang dipakai adalah dataset Indeks Kualitas Udara dan Kasus Penyakit Pernapasan per Kota dengan memuat 5 variabel, diantaranya variable kota, provinsi, AQI, Kasus, dan Penduduk. Untuk menginterpretasikan dan menganalisis data menjadi lebih mudah, maka dilakukan pembuatan visualisasi. Pembuatan visualisasi dapat menggunakan Lattice, ggplot2, dan Graphics Engine.
Berikut ini adalah visualisasi data pada indeks kulitas udara dan kasus penyakit pernapasan yang melibatkan variable Kasus dan variable AQI.
Berikut ini syntax dan outup untuk visualisasi dengan Lattice dan Lattice Extra
library(lattice)
## Warning: package 'lattice' was built under R version 4.3.3
library(latticeExtra)
## Warning: package 'latticeExtra' was built under R version 4.3.3
library(readr)
## Warning: package 'readr' was built under R version 4.3.3
Kualitas_Udara <- read_csv("C:/Users/asus/Downloads/Data Indeks Kualitas Udara di Indonesia.csv")
xyplot(Kasus ~ AQI | Kota,
data = Kualitas_Udara,
groups = Provinsi,
layout = c(5, 2),
panel = function(x, y, ..., subscripts, groups) {
panel.xyplot(x, y, ..., pch = 16)
panel.lmline(x, y, col = "green", lty = 2)
panel.abline(v = 100, col = "red", lty = 3)
panel.text(x = 105, y = max(y, na.rm = TRUE),
labels = "Batas Aman AQI", pos = 4, cex = 0.7, col = "blue")
},
auto.key = list(title = "Provinsi", columns = 2, points = TRUE, lines = FALSE)
)
Interpretasi : Dari gambar visualisasi diatas dapat
diketahui bahwa terdapat 10 kota, yaitu kota Medan, Palembang,
Semaranga, Surabaya, Tangerang, Bandung, Bekasi, Depok, Jakarta, dan
Makassar. Dari 10 kota Bekasi dan Makassar cenderung melebihi dari batas
aman AQI yang sebesar 100. Sedangkan untuk kota yang cenderung tidak
melebihi dari batas aman adalah kota Medan.
Berikut ini syntax dan outup untuk visualisasi dengan ggplot2
library(ggplot2)
ggplot(Kualitas_Udara, aes(x = AQI, y = Kasus, color = Provinsi)) +
geom_point(size = 2.5, alpha = 0.8) +
labs(
title = "Scatterplot AQI vs Kasus Penyakit Pernapasan",
subtitle = "Warna titik mewakili masing-masing provinsi",
x = "Air Quality Index (AQI)",
y = "Jumlah Kasus per 1000 Penduduk",
color = "Provinsi"
) +
scale_color_brewer(palette = "Set1") +
theme_minimal() +
theme(
plot.title = element_text(face = "bold", size = 14),
plot.subtitle = element_text(size = 10),
axis.text.x = element_text(angle = 0),
legend.position = "right"
)
Interpretasi : Dari gambar visualisasi Scatterplot antara index AQI dengan kasus penyakit pernafasan berdasarkan provinsi dapat dilihat bahwa jawa timur memiliki index AQI yang sangat besar dibandingkan provinsi lainnya, yaitu lebih dari 150. Sedangkan, pada sumatera selatan yang memiliki jumlah penduduk yang paling banyak, memiliki index AQI di anatara 100 sampai 150.
library(ggplot2)
ggplot(Kualitas_Udara, aes(x = reorder(Kota, -Penduduk), y = Penduduk, fill = Provinsi)) +
geom_bar(stat = "identity") +
labs(
title = "Jumlah Penduduk per Kota",
x = "Kota",
y = "Jumlah Penduduk"
) +
scale_fill_brewer(palette = "Set1") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
Interpretasi : Dari gambar visualisasi antara 10 kota
dengan jumlah penduduk dapat dilihat bahwa kota medan dan surabaya
memiliki jumlah penduduk yang hampir sama dan paling banyak dinatara
kota lainnya. Sedangkan, untuk kota dengan jumlah penduduk terendah
adalah kota jakarta
library(ggplot2)
ggplot(Kualitas_Udara, mapping = aes(AQI, Provinsi)) +
geom_boxplot() +
labs(
title = "AQI tiap Provinsi",
x = "AQI",
y = "Provinsi"
) +
scale_fill_brewer(palette = "Set1") +
theme_minimal()
Interpretasi : Dari gambar visualisasi AQI untuk tiap
provinsi dapat dilihat bahwa Provinsi Banten memiliki jumlah AQI kurang
dari 100 lebih banyak dari provinsi lainnya. Sedangkan, untuk provinsi
laiinnya cenderung memiliki proporsi yang sama antara indeks AQI dengan
rentang 100 sampai 150.
untuk menyimpan gambar menjadi format pdf atau jpg dari grafik yang telah dibuat dapat menggunkaan syntax berikut:
library(lattice)
# Simpan output ke file PDF
pdf(file = "scatterplot Kasus (Y) vs AQI (X).pdf")
xyplot(Kasus ~ AQI | Kota,
data = Kualitas_Udara,
groups = Provinsi,
layout = c(5, 2), # Sesuaikan dengan jumlah kota
panel = function(x, y, ..., subscripts, groups) {
# Scatterplot
panel.xyplot(x, y, ..., pch = 16)
# Garis regresi
panel.lmline(x, y, col = "green", lty = 2)
# Garis batas AQI normal
panel.abline(v = 100, col = "red", lty = 3)
# Keterangan batas aman
panel.text(x = 105, y = max(y, na.rm = TRUE),
labels = "Batas Aman AQI", pos = 4, cex = 0.7, col = "blue")
},
auto.key = list(title = "Provinsi", columns = 2, points = TRUE, lines = FALSE)
)
dev.off()
## png
## 2
library(ggplot2)
# Simpan output ke file PNG
png("Jumlah Penduduk per kota.png")
ggplot(Kualitas_Udara, aes(x = reorder(Kota, -Penduduk), y = Penduduk, fill = Provinsi)) +
geom_bar(stat = "identity") +
labs(
title = "Jumlah Penduduk per Kota",
x = "Kota",
y = "Jumlah Penduduk"
) +
scale_fill_brewer(palette = "Set1") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
dev.off()
## png
## 2
Syntax bisa disesuaikan sesuai kebutuhan masing-masing. File PDF dan JPG akan langsung tersimpan kedalam device atau directory yang diinginkan.