R'de ggplot2 kullanan iki faktöre göre boxplot


13

R ve R'deki herhangi bir pakette çok yeniyim ggplot2 belgelerine baktım ama bulamadım. Ben değişkenin bir kutu arsa istediğiniz boxthisiki faktöre göre f1ve f2. Her ikisini de varsayalım f1ve f2faktör değişkenleri ve her biri iki değer alır ve boxthissürekli bir değişkendir. Bir grafikte 4 kutu grafiği almak istiyorum, her biri olası kombinasyonlardan bir kombinasyona karşılık gelebilir f1ve f2alabilir. Sanırım R'deki temel işlevleri kullanarak,

> boxplot(boxthis ~ f1 * f2 , data = datasetname) 

Herhangi bir yardım için şimdiden teşekkürler.


Kesin yanıtlar almak için lütfen örnek veriler sağlayın.
mpiktas

2
Bu soru neredeyse kesinlikle stackoverflow.com için daha uygun olacaktır, çünkü burada çok az istatistik vardır.
richiemorrisroe

Yanıtlar:


23

Bunu başarmanın iki yolunu düşünebilirim:

1. -fonksiyonun içindeki f1ve f2dışındaki tüm kombinasyonları oluşturunggplot

library(ggplot2)

df <- data.frame(f1=factor(rbinom(100, 1, 0.45), label=c("m","w")), 
                 f2=factor(rbinom(100, 1, 0.45), label=c("young","old")),
                 boxthis=rnorm(100))

df$f1f2 <- interaction(df$f1, df$f2)

ggplot(aes(y = boxthis, x = f1f2), data = df) + geom_boxplot()

resim açıklamasını buraya girin

2. renk / dolgu / vb kullanın.

ggplot(aes(y = boxthis, x = f2, fill = f1), data = df) + geom_boxplot()

resim açıklamasını buraya girin


4
(+1) kullanımını seviyorum interaction(). Dikkat edilmesi gereken, kutu geom_boxplot(position = position_dodge(width = .9))grafikleri arasına fazladan boşluk eklemeyi belirtebiliriz .
chl

1
Ayrıca işlevde dodgebağımsız değişkeni de kullanabilirsiniz ggplot-ggplot(aes(y = boxthis, x = f2, fill = f1, dodge=f1), data = df) + geom_boxplot()
Maciej

0

İşte başka bir yol:

ggplot(datasetname) + boxplot(aes(x=as.factor(f1),y=boxthis)) + facet_wrap(~as.factor(f2), nrow=5)

Aşağıdaki gibi bir şey verir:

Yönlü kutu çizimi

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.