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