Deteksi Outlier di R
1. Menggunakan IQR (Interquartile Range)
Outlier ditentukan sebagai data yang berada di bawah Q1 - 1.5 * IQR
atau di atas Q3 + 1.5 * IQR
.
# Data contoh nilai <- c(runif(250, 60, 100), 120, 20) # Tambahkan nilai outlier # Hitung Q1, Q3, dan IQR Q1 <- quantile(nilai, 0.25) Q3 <- quantile(nilai, 0.75) IQR <- Q3 - Q1 # Batas untuk mendeteksi outlier lower_bound <- Q1 - 1.5 * IQR upper_bound <- Q3 + 1.5 * IQR # Cari outlier outliers <- nilai[nilai < lower_bound | nilai > upper_bound] # Tampilkan outlier outliers
2. Menggunakan Fungsi boxplot()
Boxplot di R secara otomatis mendeteksi dan menampilkan outlier.
# Membuat boxplot boxplot(nilai, main = "Boxplot Sebaran Nilai", ylab = "Nilai", col = "lightblue") # Menampilkan indeks data outlier boxplot.stats(nilai)$out # Menampilkan nilai-nilai outlier
3. Menggunakan Paket dplyr
Gunakan library dplyr
untuk memfilter data outlier.
# Pasang library dplyr if (!require(dplyr)) install.packages("dplyr") library(dplyr) # Data frame contoh data_frame <- data.frame(nilai = nilai) # Deteksi outlier data_outliers <- data_frame %>% filter(nilai < lower_bound | nilai > upper_bound) # Tampilkan data outlier data_outliers
4. Menggunakan Paket outliers
Paket ini menyediakan fungsi untuk menguji outlier dengan metode statistik seperti Grubbs' Test.
# Pasang paket outliers if (!require(outliers)) install.packages("outliers") library(outliers) # Menguji apakah ada outlier grubbs.test(nilai) # Grubbs' test untuk outlier ekstrem
5. Visualisasi dengan ggplot2
Gunakan geom_boxplot()
untuk memvisualisasikan outlier dengan jelas.
# Pasang ggplot2 if (!require(ggplot2)) install.packages("ggplot2") library(ggplot2) # Data dalam bentuk data frame data_frame <- data.frame(nilai = nilai) # Membuat boxplot ggplot(data_frame, aes(y = nilai)) + geom_boxplot(outlier.color = "red", outlier.shape = 16) + labs(title = "Visualisasi Outlier", y = "Nilai")
Tidak ada komentar:
Posting Komentar