Cara memberi label outlier pada plot kotak di ggplot2


Tutorial ini memberikan contoh langkah demi langkah tentang cara memberi label outlier pada plot kotak di ggplot2.

Langkah 1: Buat bingkai data

Pertama, mari buat kerangka data berikut yang berisi informasi tentang poin yang dicetak oleh 60 pemain bola basket berbeda di tiga tim berbeda:

 #make this example reproducible
set. seeds (1)

#create data frame
df <- data. frame (team=rep(c('A', 'B', 'C'), each= 20 ),
                 player=rep(LETTERS[1:20], times= 3 ),
                 points=round(rnorm(n=60, mean=30, sd=10), 2))

#view head of data frame
head(df)

  team player points
1 AA 23.74
2AB 31.84
3 AC 21.64
4AD 45.95
5 AE 33.30
6 FY 21.80

Catatan : Kami menggunakan fungsi set.seed() untuk memastikan contoh ini dapat direproduksi.

Langkah 2: Tentukan fungsi untuk mengidentifikasi outlier

Di ggplot2, sebuah observasi didefinisikan sebagai outlier jika memenuhi salah satu dari dua persyaratan berikut:

  • Pengamatannya 1,5 kali rentang antarkuartil di bawah kuartil pertama (Q1)
  • Pengamatannya 1,5 kali rentang antarkuartil di atas kuartil ketiga (Q3).

Kita dapat membuat fungsi berikut di R untuk memberi label observasi sebagai outlier jika memenuhi salah satu dari dua persyaratan berikut:

 find_outlier <- function (x) {
  return (x < quantile(x, .25) - 1.5*IQR(x) | x > quantile(x, .75) + 1.5*IQR(x))
}

Terkait: Cara Menafsirkan Rentang Interkuartil

Langkah 3: Beri label outlier pada plot kotak di ggplot2

Kemudian kita dapat menggunakan kode berikut untuk memberi label outlier pada plot kotak di ggplot2:

 library (ggplot2)
library (dplyr)

#add new column to data frame that indicates if each observation is an outlier
df <- df %>%
        group_by(team) %>%
        mutate(outlier = ifelse(find_outlier(points), points, NA))

#create box plot of points by team and label outliers
ggplot(df, aes(x=team, y=points)) +
  geom_boxplot() +
  geom_text(aes(label=outlier), na. rm = TRUE , hjust= -.5 ) 

beri label outlier di plot kotak di ggplot2

Perhatikan bahwa dua outlier diberi label pada grafik.

Outlier pertama adalah pemain dari Tim A yang mencetak 7,85 poin dan outlier lainnya adalah pemain dari Tim B yang mencetak 10,11 poin.

Perhatikan bahwa kita juga dapat menggunakan variabel lain untuk memberi label outlier ini.

Misalnya, kita dapat menukar poin pemain dalam fungsi mutate() untuk memberi label outlier berdasarkan nama pemain:

 library (ggplot2)
library (dplyr)

#add new column to data frame that indicates if each observation is an outlier
df <- df %>%
        group_by(team) %>%
        mutate(outlier = ifelse(find_outlier(points), player, NA))

#create box plot of points by team and label outliers
ggplot(df, aes(x=team, y=points)) +
  geom_boxplot() +
  geom_text(aes(label=outlier), na. rm = TRUE , hjust= -.5 ) 

Outlier tim A kini diberi label N dan outlier tim B kini diberi label D , karena label tersebut mewakili nama pemain yang memiliki poin outlier.

Catatan : Argumen hjust di geom_text() digunakan untuk mendorong label secara horizontal ke kanan agar tidak tumpang tindih dengan titik plot.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di ggplot2:

Cara mengubah ukuran font di ggplot2
Cara menghapus legenda di ggplot2
Cara memutar label sumbu di ggplot2

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *