3

私はいくつかのグループ化された箱ひげ図を作成しました。基本的には、さまざまなグループを示しているx軸の各次元に対してです。私のデータセットは非常に大きいため、ggplotには十分なメモリがなかったため、ボックスの値を事前に計算する必要がありました(使用ddplyして分割して実行しました)。

これは、変動性の一部を示しているため、平均の単なる棒グラフよりも優れていると思います。

2つの変更が必要です。1つはひげの線を表示しないことで、ymin=lowerとymax=upperを設定して変更しました。

手段も追加したかったのですが、すべてが各Xカテゴリの中央に表示され、もちろん、それぞれがボックスに揃えられている必要があります。

誰かが助けてくれるのを簡単にするために、私はmtcarsを使用して同じチャートを再作成しました-私はposition = "dodge"変更なしで「アイデンティティ」を試しました

誰もがこれを行う方法を知っていますか?私は検索しましたが、方法が見つかりませんでした。最新のチャートの写真も添付しています。コードは以下のとおりです

data(mtcars)
data <- as.data.frame(mtcars)
data$cyl <- factor(data$cyl)
data$gear <- factor(data$gear)

summ <- ddply(data, .(cyl, gear),summarize, lower=quantile(mpg,probs=0.25,na.rm=T), middle=quantile(mpg,probs=.5,na.rm=T),upper=quantile(mpg,probs=.75,na.rm=T),avg=mean(mpg,na.rm=T))

p2 <- ggplot(summ, aes(x = cyl, lower = lower, middle = middle, upper = upper,fill=gear,ymin=lower,ymax=upper))+geom_boxplot(stat = "identity")
p2 <- p2 + geom_point(aes(x = cyl, y=avg, color=gear),color="red",position="dodge")
p2 

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

4

1 に答える 1

2

問題は、点の幅がボックス プロットの幅と同じでないことです。その場合、position_dodge使用する幅を指定する必要があります。?position_dodgeポイントとエラー バーを使用した簡単な例を示しますが、ポイントとボックス プロットの原理は同じです。あなたの例では、に置き換えるposition="dodge"position=position_dodge(width=0.9)、箱ひげ図と同じ量だけポイントがかわされます。

于 2013-03-16T15:45:00.040 に答える