Rabu, 20 November 2024

Cara Cek Data Outlier Menggunakan Software R

Deteksi Outlier di R

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