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()
Kod 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ı:
Grafiğin tarafını değiştir
Grafiğin yan tarafını çevirebilirsiniz.
box_plot + geom_boxplot()+ coord_flip()
Kod 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ı:
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()
Kod 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ı:
Ö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()
Kod 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ı:
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()
Kod 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ı:
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()
Kod Açıklama
- Grupların renkleri aes() eşlemesinde kontrol edilir. Kutu ve bıyık grafiğinin rengini aylara göre değiştirmek için color= Month kullanabilirsiniz.
Çıktı:
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()
Kod Açıklama
- Geometrik nesnenin aes() eşlemesi, görüntülenecek grupları kontrol eder (bu değişkenin bir faktör olması gerekir)
- aes(fill= day_cat) x ekseninde her ay için üç kutu oluşturulmasına izin verir
Çıktı:
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 ayrık verilerin çakışmasını önler.
box_plot +
geom_boxplot() +
geom_jitter(shape = 15,
color = "steelblue",
position = position_jitter(width = 0.21)) +
theme_classic()
Kod 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
- konum=pozisyon_jitter(genişlik = 0.21): Üst üste binen noktaları yerleştirmenin yolu. pozisyon_jitter(genişlik = 0.21), noktaları x ekseninden yüzde 20 oranında hareket ettirdiğiniz anlamına gelir. Varsayılan olarak yüzde 40.
Çıktı:
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()
Ç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:
ile çeyrekler arası ve gözlem sayısıdır.
box_plot +
geom_boxplot(notch = TRUE) +
theme_classic()
Kod Açıklama
- geom_boxplot(notch=TRUE): Çentikli yatay kutu grafiği R oluşturun
Çıktı:
ÖZET
Yatay kutu grafiği R'nin farklı tiplerini aşağıdaki tabloda özetleyebiliriz:
| Hedef | Kod |
|---|---|
| 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











