Laporan ini bertujuan untuk menganalisis hubungan antara kualitas udara (AQI) dan jumlah kasus penyakit pernapasan di berbagai kota di Indonesia.
# Load package
library(lattice)
library(readr)
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
# Load data
data <- read_csv("C:/Users/Andrea/Downloads/data_kualitas_udara.csv")
## Rows: 20 Columns: 5
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (2): Kota, Provinsi
## dbl (3): AQI, Kasus, Penduduk
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
# Cek struktur data
str(data)
## spc_tbl_ [20 × 5] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
## $ Kota : chr [1:20] "Surabaya" "Malang" "Sidoarjo" "Jakarta Selatan" ...
## $ Provinsi: chr [1:20] "Jawa Timur" "Jawa Timur" "Jawa Timur" "DKI Jakarta" ...
## $ AQI : num [1:20] 95 80 110 140 135 145 120 130 100 105 ...
## $ Kasus : num [1:20] 120 90 150 210 200 220 180 190 160 170 ...
## $ Penduduk: num [1:20] 2900000 900000 2200000 2300000 2500000 2800000 2500000 2700000 1100000 1800000 ...
## - attr(*, "spec")=
## .. cols(
## .. Kota = col_character(),
## .. Provinsi = col_character(),
## .. AQI = col_double(),
## .. Kasus = col_double(),
## .. Penduduk = col_double()
## .. )
## - attr(*, "problems")=<externalptr>
head(data)
## # A tibble: 6 × 5
## Kota Provinsi AQI Kasus Penduduk
## <chr> <chr> <dbl> <dbl> <dbl>
## 1 Surabaya Jawa Timur 95 120 2900000
## 2 Malang Jawa Timur 80 90 900000
## 3 Sidoarjo Jawa Timur 110 150 2200000
## 4 Jakarta Selatan DKI Jakarta 140 210 2300000
## 5 Jakarta Barat DKI Jakarta 135 200 2500000
## 6 Jakarta Timur DKI Jakarta 145 220 2800000
xyplot(Kasus ~ AQI, data = data,
main = "Hubungan AQI dan Kasus Penyakit Pernapasan",
xlab = "Air Quality Index (AQI)",
ylab = "Jumlah Kasus per 1000 Penduduk",
col = "steelblue",
pch = 16)
Visualisasi menunjukkan hubungan antara Air Quality Index (AQI) dan jumlah kasus penyakit pernapasan.
xyplot(Kasus ~ AQI | Kota, data = data,
layout = c(4,5),
main = "Kasus vs AQI per Kota",
xlab = "AQI",
ylab = "Kasus",
col = "darkgreen",
pch = 16)
Visualisasi dengan panel per kota memperlihatkan distribusi data untuk masing-masing kota secara terpisah.
xyplot(Kasus ~ AQI | Kota, data = data,
layout = c(4,5),
panel = function(x, y, ...) {
panel.xyplot(x, y, ...)
panel.lmline(x, y, col = "red", lwd = 2)
},
main = "Regresi Kasus vs AQI per Kota",
xlab = "AQI",
ylab = "Kasus")
xyplot(Kasus ~ AQI | Kota, data = data,
layout = c(4,5),
panel = function(x, y, ...) {
panel.xyplot(x, y, ...)
panel.lmline(x, y, col = "red", lwd = 2)
panel.abline(v = 100,
col = "blue",
lty = 2,
lwd = 2)
},
main = "Batas Aman AQI (100)",
xlab = "AQI",
ylab = "Kasus")
ggplot(data,
aes(x = AQI,
y = Kasus,
color = Provinsi)) +
geom_point(size = 3) +
labs(
title = "Hubungan AQI dan Kasus Penyakit Pernapasan",
x = "Air Quality Index (AQI)",
y = "Jumlah Kasus"
) +
theme_minimal()
Terlihat kecenderungan bahwa kota dengan AQI lebih tinggi memiliki jumlah kasus yang lebih tinggi.
ggplot(data,
aes(x = Kota,
y = Penduduk,
fill = Provinsi)) +
geom_bar(stat = "identity") +
labs(
title = "Jumlah Penduduk per Kota",
x = "Kota",
y = "Jumlah Penduduk"
) +
theme_minimal() +
theme(axis.text.x =
element_text(angle = 45,
hjust = 1))
Kota besar seperti Jakarta memiliki jumlah penduduk yang jauh lebih tinggi dibanding kota lain.
ggplot(data,
aes(x = Provinsi,
y = AQI,
fill = Provinsi)) +
geom_boxplot() +
labs(
title = "Distribusi AQI per Provinsi",
x = "Provinsi",
y = "AQI"
) +
theme_minimal() +
theme(axis.text.x =
element_text(angle = 45,
hjust = 1))
Terdapat variasi AQI antar provinsi dan beberapa provinsi memiliki kualitas udara lebih buruk dibanding yang lain.
Berdasarkan visualisasi, terdapat kecenderungan hubungan positif antara kualitas udara buruk (AQI tinggi) dan jumlah kasus penyakit pernapasan.