Ggplot2'deki kutu grafiklerindeki aykırı değerler nasıl etiketlenir


Bu eğitimde, ggplot2’deki kutu grafiklerindeki aykırı değerlerin nasıl etiketleneceğine ilişkin adım adım bir örnek sunulmaktadır.

1. Adım: Veri çerçevesini oluşturun

Öncelikle 60 farklı basketbolcunun üç farklı takımda attığı puanlara ilişkin bilgileri içeren aşağıdaki veri çerçevesini oluşturalım:

 #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

Not : Bu örneğin tekrarlanabilir olmasını sağlamak için set.seed() işlevini kullandık.

Adım 2: Aykırı değerleri belirlemek için bir işlev tanımlayın

Ggplot2’de bir gözlem, aşağıdaki iki gereksinimden birini karşılıyorsa aykırı değer olarak tanımlanır:

  • Gözlem, ilk çeyreğin (Q1) altındaki çeyrekler arası aralığın 1,5 katıdır.
  • Gözlem, üçüncü çeyreğin (Q3) üzerindeki çeyrekler arası aralığın 1,5 katıdır.

Bu iki gereksinimden birini karşılıyorlarsa gözlemleri aykırı değer olarak etiketlemek için R’de aşağıdaki işlevi oluşturabiliriz:

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

İlgili: Çeyrekler Arası Aralık Nasıl Yorumlanır?

Adım 3: ggplot2’deki kutu grafiklerindeki aykırı değerleri etiketleyin

Daha sonra ggplot2’deki kutu grafiklerindeki aykırı değerleri etiketlemek için aşağıdaki kodu kullanabiliriz:

 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 ) 

ggplot2'deki kutu grafiklerindeki aykırı değerleri etiketleyin

Grafikte iki aykırı değerin etiketlendiğine dikkat edin.

İlk aykırı değer 7,85 puan alan A Takımı oyuncusu, diğer aykırı değer ise 10,11 puan alan B Takımı oyuncusudur.

Bu aykırı değerleri etiketlemek için farklı bir değişken de kullanabileceğimizi unutmayın.

Örneğin, oyuncunun ismine göre aykırı değerleri etiketlemek için mutate() işlevindeki oyuncunun puanlarını değiştirebiliriz:

 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 ) 

A takımının aykırı değeri artık bir N etiketine sahip ve B takımının aykırı değeri artık bir D etiketine sahip çünkü bunlar, puan olarak aykırı değerleri olan oyuncuların adlarını temsil ediyor.

Not : geom_text() işlevindeki hjust argümanı, çizim noktasının üzerine gelmemesi için etiketi yatay olarak sağa doğru itmek için kullanılır.

Ek kaynaklar

Aşağıdaki eğitimler ggplot2’de diğer genel görevlerin nasıl gerçekleştirileceğini açıklamaktadır:

Ggplot2’de yazı tipi boyutu nasıl değiştirilir?
Ggplot2’de bir efsane nasıl kaldırılır
Ggplot2’de eksen etiketleri nasıl döndürülür

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir