R'de boxplot() Nasıl Yapılır BoxRStudio'daki grafikler [Örnekler]

R'de boxplot()

R'de boxplot() verilerin dörtte birlik dağılımını görselleştirmeye ve aykırı değerlerin varlığını tespit etmeye yardımcı olur. R'de bir boxplot() çizmek için ggplot2 kütüphanesinden geom_boxplot() geometrik nesnesini kullanabilirsiniz.

R'de ggplot ile boxplot()'u tanıtmak için hava kalitesi veri setini kullanacağız. Bu veri seti, Mayıs'tan Eylül 1973'e kadar New York'un hava kalitesini ölçer. Veri seti 154 gözlem içerir. Aşağıdaki değişkenleri kullanacağız:

  • Ozon: Sayısal değişken
  • Rüzgar: Sayısal değişken
  • Ay: Mayıs'tan Eylül'e kadar. Sayısal değişken

Oluştur Box Arsa

R'de ilk boxplot()'unuzu oluşturmaya başlamadan önce, verileri aşağıdaki şekilde düzenlemeniz gerekir:

  • 1. Adım: Verileri içe aktarın
  • Adım 2: Gereksiz değişkenleri bırakın
  • 3. Adım: Ayı faktör düzeyinde dönüştürün
  • Adım 4: Ayı üç düzeye bölen yeni bir kategorik değişken oluşturun: başlangıç, orta ve bitiş.
  • 5. Adım: Eksik gözlemleri kaldırın

Tüm bu adımlar dplyr ve %>% boru hattı operatörü ile gerçekleştirilir.

library(dplyr)
library(ggplot2)
# Step 1
data_air <- airquality % > %

#Step 2
select(-c(Solar.R, Temp)) % > %

#Step 3
mutate(Month = factor(Month, order = TRUE, labels = c("May", "June", "July", "August", "September")), 
       
#Step 4 
day_cat = factor(ifelse(Day < 10, "Begin", ifelse(Day < 20, "Middle", "End"))))

Verilerin yapısını bakış() işleviyle kontrol etmek iyi bir uygulamadır.

glimpse(data_air)

Çıktı:

## Observations: 153
## Variables: 5
## $ Ozone   <int> 41, 36, 12, 18, NA, 28, 23, 19, 8, NA, 7, 16, 11, 14, ...
## $ Wind    <dbl> 7.4, 8.0, 12.6, 11.5, 14.3, 14.9, 8.6, 13.8, 20.1, 8.6...
## $ Month   <ord> May, May, May, May, May, May, May, May, May, May, May,...
## $ Day     <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,...
## $ day_cat <fctr> Begin, Begin, Begin, Begin, Begin, Begin, Begin, Begi...

Veri setinde NA'lar var. Bunları kaldırmak akıllıca olur.

# Step 5
data_air_nona <-data_air %>% na.omit()	

Temel kutu grafiği

Ozonun aylara göre dağılımını gösteren temel R boxplot()'u çizelim.

# Store the graph
box_plot <- ggplot(data_air_nona, aes(x = Month, y = Ozone))
# Add the geometric object box plot
box_plot +
    geom_boxplot()

Code açıklama

  • Grafiği daha sonra kullanmak üzere saklayın
    • box_plot: Grafiği box_plot değişkenine kaydedersiniz. Daha sonraki kullanımlar için yararlıdır veya çok karmaşık kod satırlarından kaçınılmasını sağlar
  • R boxplot()'un geometrik nesnesini ekleyin
    • data_air_nona veri kümesini ggplot boxplot'a geçiriyorsunuz.
    • aes() argümanının içine x eksenini ve y eksenini eklersiniz.
    • + işareti, R'nin kodu okumaya devam etmesini istediğiniz anlamına gelir. Kodu kırarak daha okunabilir hale getirir.
    • Kutu grafiği oluşturmak için geom_boxplot()'u kullanın

Çıktı:

Temel Box Arsa

Grafiğin tarafını değiştir

Grafiğin yan tarafını çevirebilirsiniz.

box_plot +
  geom_boxplot()+
  coord_flip()

Code açıklama

  • box_plot: Sakladığınız grafiği kullanırsınız. Grafiğe her yeni bilgi eklediğinizde tüm kodları yeniden yazmaktan kaçınırsınız.
  • geom_boxplot(): R'de boxplots() oluşturun
  • coord_flip(): Grafiğin yan tarafını çevirin

Çıktı:

Grafiğin Tarafını Değiştir

Aykırı değerin rengini değiştir

Aykırı değerlerin rengini, şeklini ve boyutunu değiştirebilirsiniz.

box_plot +
    geom_boxplot(outlier.colour = "red",
        outlier.shape = 2,
        outlier.size = 3) +
    theme_classic()

Code açıklama

  • outlier.colour=”red”: Aykırı değerlerin rengini kontrol edin
  • outlier.shape=2: Aykırı değerin şeklini değiştirin. 2 üçgeni ifade eder
  • outlier.size=3: Üçgenin boyutunu değiştirin. Boyutu sayıyla orantılıdır.

Çıktı:

Aykırı Değerin Rengini Değiştir

Özet istatistik ekleyin

R boxplot()'a bir özet istatistiği ekleyebilirsiniz.

box_plot +
    geom_boxplot() +
    stat_summary(fun.y = mean,
        geom = "point",
        size = 3,
        color = "steelblue") +
    theme_classic()

Code açıklama

  • stat_summary() yatay kutu grafiğine bir özet eklenmesine izin verir R
  • fun.y argümanı döndürülen istatistikleri kontrol eder. Ortalamayı kullanacaksın
  • Not: Minimum ve maksimum gibi diğer istatistikler de mevcuttur. Aynı grafikte birden fazla istatistik sergilenebilir
  • geom = “point”: Ortalamayı bir noktayla çizin
  • boyut=3: Noktanın boyutu
  • color =”steelblue”: Noktaların rengi

Çıktı:

Özet İstatistik Ekle

Box Noktalı Grafik

Sonraki yatay kutu grafiği R'de nokta grafiği katmanlarını eklersiniz. Her nokta bir gözlemi temsil eder.

box_plot +
    geom_boxplot() +
    geom_dotplot(binaxis = 'y',
        dotsize = 1,
        stackdir = 'center') +
    theme_classic()

Code açıklama

  • geom_dotplot() bölme genişliğine nokta eklenmesine izin verir
  • binaxis='y': Y ekseni boyunca noktaların konumunu değiştirin. Varsayılan olarak x ekseni
  • dotsize=1: Noktaların boyutu
  • stackdir='center': Noktaları istiflemenin yolu: Dört değer:
    • “yukarı” (varsayılan),
    • "aşağı"
    • “merkez”
    • “merkez bütünü”

Çıktı:

Box Noktalı Grafik

Kontrol Estetiği Box Arsa

Kutunun rengini değiştir

Grubun renklerini değiştirebilirsiniz.

ggplot(data_air_nona, aes(x = Month, y = Ozone, color = Month)) +
    geom_boxplot() +
    theme_classic()

Code açıklama

  • Grupların renkleri aes() haritasında kontrol edilir.pingAylara göre kutu ve bıyık grafiğinin rengini değiştirmek için color=Month özelliğini kullanabilirsiniz.

Çıktı:

Rengini Değiştir Box

Box birden fazla grupla arsa

Birden fazla grup eklemek de mümkündür. Ölçüm gününe göre hava kalitesindeki farkı görselleştirebilirsiniz.

ggplot(data_air_nona, aes(Month, Ozone)) +
    geom_boxplot(aes(fill = day_cat)) +
    theme_classic()

Code açıklama

  • aes() haritasıping Geometrik nesnenin kontrolleri, görüntülenecek grupları belirler (bu değişken bir faktör olmalıdır).
  • aes(fill= day_cat) x ekseninde her ay için üç kutu oluşturulmasına izin verir

Çıktı:

Box Çoklu Gruplarla Arsa

Box Titreşimli Noktalarla Arsa

Noktayı göstermenin bir başka yolu da titrek noktalardır. R değişkeninde kategorik veriler için kutu çizimiyle noktaları görselleştirmenin kullanışlı bir yoludur.

Bu yöntem örtüşmeyi önler.ping ayrık verilerin.

box_plot +
    geom_boxplot() +
    geom_jitter(shape = 15,
        color = "steelblue",
        position = position_jitter(width = 0.21)) +
    theme_classic()

Code açıklama

  • geom_jitter() her noktaya biraz bozulma ekler.
  • shape=15 noktaların şeklini değiştirir. 15 kareleri temsil eder
  • color = “steelblue”: Noktanın rengini değiştirir
  • pozisyon=position_jitter(genişlik = 0.21): Çakışmayı yerleştirmenin yoluping `points.position_jitter(width = 0.21)` komutu, noktaları x ekseninden %20 oranında hareket ettirir. Varsayılan değer %40'tır.

Çıktı:

Box Titreşimli Noktalarla Arsa

Jitter yöntemiyle ilk grafik ile nokta yöntemiyle ikinci grafik arasındaki farkı görebilirsiniz.

box_plot +
    geom_boxplot() +
    geom_point(shape = 5,
        color = "steelblue") +
    theme_classic()

Box Titreşimli Noktalarla Arsa

Çentikli Box Arsa

geom_boxplot()'un ilginç bir özelliği, R'deki çentikli kutu çizimi fonksiyonudur. Çentik çizimi, medyanın etrafındaki kutuyu daraltır. Çentikli kutu çiziminin temel amacı, gruplar arasındaki medyanın anlamlılığını karşılaştırmaktır. Çentikler örtüşmediğinde iki grubun farklı medyanlara sahip olduğuna dair güçlü kanıtlar vardır. Bir çentik aşağıdaki gibi hesaplanır:

Çentikli Box Arsa

ile çeyrekler arası ve gözlem sayısıdır.

box_plot +
    geom_boxplot(notch = TRUE) +
    theme_classic()

Code açıklama

  • geom_boxplot(notch=TRUE): Çentikli yatay kutu grafiği R oluşturun

Çıktı:

Çentikli Box Arsa

ÖZET

Yatay kutu grafiği R'nin farklı tiplerini aşağıdaki tabloda özetleyebiliriz:

Hedef Code
Temel kutu grafiği
ggplot(df, aes( x = x1, y =y)) + geom_boxplot()
tarafı çevir
ggplot(df, aes( x = x1, y =y)) + geom_boxplot() + coord_flip()
Çentikli kutu grafiği
ggplot(df, aes( x = x1, y =y)) + geom_boxplot(notch=TRUE)
Box titrek noktalarla çizim
ggplot(df, aes( x = x1, y =y)) + geom_boxplot() + geom_jitter(position = position_jitter(0.21))

Ayrıca Kontrol Edin: - Yeni Başlayanlar İçin R Eğitimi: R Programlama Dilini Öğrenin

Bu yazıyı şu şekilde özetleyin: