Beberapa library yang perlu diinstal sebagai berikut:
library(ggplot2)
library(readxl)
library(ggthemes)
## Warning: package 'ggthemes' was built under R version 4.4.2
library(gridExtra)
## Warning: package 'gridExtra' was built under R version 4.4.2
Data diinput dari Microsoft Excel dengan syntax sebagai berikut:
setwd("F:/Probabilitas dan Statistika/Pertemuan 3/Tugas")
data<-read_excel("Kualitas_Udara_di_Jabodetabek_berdasarkan_IQAir.xlsx")
head(data)
## # A tibble: 5 × 6
## `Nama Kota` `Status Kondisi Udara` `Polutan Utama` `Kualitas Udara`
## <chr> <chr> <chr> <dbl>
## 1 Jakarta Sedang NO2 94
## 2 Bogor Tidak Sehat Bagi Kelompok Sensit… PM2.5 143
## 3 Depok Sedang PM2.5 90
## 4 Tangerang Sedang PM2.5 77
## 5 Bekasi Tidak Sehat Bagi Kelompok Sensit… PM2.5 126
## # ℹ 2 more variables: `Kelembapan (%)` <dbl>, Suhu <dbl>
Data tersebut menyimpulkan kualitas udara di Jakarta, Bogor, Depok, Tangerang, dan Bekasi. Data tersebut memuat status kondisi udara, polutan utama, kualitas udara, kelembapan, dan suhu. Data diambil dari IQAir.
Dari data tersebut akan disajikan visualisasi data dalam bentuk Pie Chart. Berikut terlampir hasil visualisasi data Polutan Utama di JABODETABEK:
pie_chart <- ggplot(data,aes(x="",fill=`Polutan Utama`)) +
geom_bar(width=1) +
coord_polar("y",start=0) +
theme_minimal() +
labs(title = "Polutan Utama di JABODETABEK") +
theme(axis.text.x = element_blank())
pie_chart
Dari hasil visualisasi tersebut dapat dijelaskan bahwa polutan utama yang ada di JABODETABEK sebagian besar adalah PM2.5 (partikel halus).
Dari data tersebut akan disajikan visualisasi data dalam bentuk Bar Chart. Berikut terlampir hasil visualisasi data Status Kondisi Udara di JABODETABEK:
bar_chart <- ggplot(data, aes(x = `Status Kondisi Udara`, fill = `Status Kondisi Udara`))+
geom_bar() +
theme_minimal() +
labs(title = "Status Kondisi Udara di JABODETABEK", x = "Status Kondisi Udara", y = "Frekuensi")
bar_chart
Dari hasil visualisasi tersebut dapat dijelaskan bahwa sebagian besar status kondisi udara di JABODETABEK dikategorikan sedang dengan frekuensi 3 yang berarti 3 kota sudah masuk pada kategori sedang. Sedangkan pada kategori tidak sehat bagi kelompok sensitif berada pada frekuensi 2 yang berarti 2 kota sudah masuk pada kategori tidak sehat bagi kelompok sensitif.
Dari data tersebut akan disajikan visualisasi data dalam bentuk Stem and Leaf. Berikut terlampir hasil visualisasi data suhu di wilayah JABODETABEK:
stem(data$Suhu)
##
## The decimal point is at the |
##
## 25 | 0
## 26 |
## 27 | 0
## 28 | 00
## 29 | 0
Dari hasil visualisasi tersebut dapat disimpulkan bahwa suhu yang berada di JABODETABEK sekitar 25 derajat celcius sampai 29 derajat celcius (karena data diambil pada saat malam hari). Terdapat dua kota yang memiliki suhu yang sama yaitu 28 derajat celcius.
Dari data tersebut akan disajikan visualisasi data dalam bentuk Histogram. Berikut terlampir hasil visualisasi data Frekuensi Suhu di JABODETABEK:
histogram <- ggplot(data, aes(x = Suhu)) +
geom_histogram(binwidth = 5, fill = "blue", color = "black", alpha = 0.7) +
theme_minimal() +
labs(title = "Histogram: Frekuensi Suhu di JABODETABEK", x = "Suhu", y = "Jumlah Kota")
histogram
Dari hasil visualisasi tersebut dapat disimpulkan bahwa histogram tersebut tidak memiliki outlier sehingga data tersebut dapat dipastikan tidak memiliki hasil yang abnormal. Suhu tertinggi di JABODETABEK berkisar 27.5 sampai 32.5 derajat celcius dengan jumlah kota 3. Sedangkan suhu terendah berkisar 22.5 sampai 27.5 derajat celcius dengan jumlah kota 2.
Dari data tersebut akan disajikan visualisasi data dalam bentuk Box Plot. Berikut terlampir hasil visualisasi data Kualitas Udara di JABODETABEK:
boxplot_data <- ggplot(data) +
geom_boxplot(aes(y = `Kualitas Udara`, fill = "Kualitas Udara"), alpha = 0.6) +
theme_minimal() +
labs(title = "Boxplot: Kualitas Udara di JABODETABEK", fill = "Kondisi")
boxplot_data
Dari hasil visualisasi data di atas dapat disimpulkan bahwa median mendekati bagian bawah dari boxplot, maka dari itu boxplot di atas disebut dengan positive skew dimana nilai modus < median < mean.
Dari data tersebut akan disajikan visualisasi data dalam bentuk Density Plot. Berikut terlampir hasil visualisasi data Kelembapan udara di JABODETABEK:
density_plot <- ggplot(data, aes(x = `Kelembapan (%)`, fill = "Kelembapan (%)")) +
geom_density(alpha = 0.5) +
theme_minimal() +
labs(title = "Density Plot: Kelembapan Udara di JABODETABEK", x = "Kelembapan", y = "Density")
density_plot
Dari hasil visualisasi data tersebut dapat disimpulkan bahwa data tersebut termasuk ke dalam unimodal karena hanya ada satu puncak di rentang nilai 70-75. Modus dalam data tersebut ada pada rentang 70-75. Kurva tersebut sempit dan tinggi yang menandakan bahwa sebaran atau variasi datanya lebih terkonsentrasi di sekitar satu nilai yaitu nilai kelembapan pada rentang 70-75.
Berikut terlampir syntax untuk menghitung rata-rata (mean) Kelembapan Udara di JABODETABEK:
mean(data$`Kelembapan (%)`)
## [1] 75.8
Berikut terlampir syntax untuk menghitung median Kelembapan Udara di JABODETABEK:
median(data$`Kelembapan (%)`)
## [1] 71
Berikut terlampir syntax untuk menghitung modus Kelembapan Udara di JABODETABEK:
modus <- function(x) {
uniqx <- unique(x)
uniqx[which.max(tabulate(match(x, uniqx)))]
}
modus(data$`Kelembapan (%)`)
## [1] 70
Berikut terlampir syntax untuk menghitung Statistik 5 Serangkai pada variabel Kelembapan:
summary(data$`Kelembapan (%)`)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 70.0 70.0 71.0 75.8 78.0 90.0
Berikut terlampir syntax untuk menghitung keragaman data pada variabel Kelembapan:
var(data$`Kelembapan (%)`)
## [1] 74.2
Berikut terlampir syntax untuk menghitung Standar Deviasi data pada variabel Kelembapan:
sd(data$`Kelembapan (%)`)
## [1] 8.613942