Rでggplot2を使用する2つの因子に関する箱ひげ図


13

私はRとRのパッケージを初めて使用します。ggplot2のドキュメントを調べましたが、これを見つけることができませんでした。boxthis2つの因子f1とに関して変数のボックスプロットが必要ですf2。それは両方を想定あるf1f2因子変数であり、それらのそれぞれが2つの値をとり、boxthis連続変数です。私は、それぞれの可能な組み合わせの中から1つの組み合わせに対応し、グラフ上の4箱ひげ図を取得したいf1f2取ることができます。私はRの基本的な機能を使用して、これを行うことができると思う

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

助けてくれてありがとう。


正確な回答を得るために、サンプルデータを提供してください。
mpiktas

2
ここに具体的な統計情報はほとんどないので、この質問はほぼ確実にstackoverflow.comに適しています。
-richiemorrisroe

回答:


23

これを達成する2つの方法を考えることができます。

すべての組み合わせを作成して1 f1f2ggplot-functionを

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()

ここに画像の説明を入力してください

2. colour / fill / etcを使用します。

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

ここに画像の説明を入力してください


4
(+1)の使用が好きですinteraction()。注目すべきは、geom_boxplot(position = position_dodge(width = .9))箱ひげ図の間に余分なスペースを追加するように指定できることです。
chl

1
また、使用することができます dodgeに引数をggplot機能-ggplot(aes(y = boxthis, x = f2, fill = f1, dodge=f1), data = df) + geom_boxplot()
マチェイ

0

別の方法を次に示します。

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

次のようなものを提供します。

ファセットボックスプロット

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.