4

2 つのグループが y 軸の反対方向に示されている一連の異なるテストで、2 つのグループの対になったドットプロット ヒストグラムを作成したいと思います。この単純なデータセットを使用して

dat <- data.frame(score = rnorm(100), group = rep(c("Control", "Experimental"), 50), test = rep(LETTERS[1:2], each=50))

このようなファセットドットプロットを作成できます

ggplot(dat, aes(score, fill=group)) + facet_wrap(~ test) + geom_dotplot(binwidth = 1, dotsize = 1)

ファセットドットプロットの例

しかし、コントロールドットを上ではなく下に向けたいと思います。この質問と回答を使用して、多かれ少なかれ私が望むものに似たヒストグラムバージョンを作成できます

ggplot() + 
  geom_histogram(data=subset(dat, group=="Experimental"), aes(score, fill="Experimental", y= ..count..)) +
  geom_histogram(data=subset(dat, group=="Control"), aes(score, fill="Control", y= -..count..)) +
  scale_fill_hue("Group")

対になった逆ヒストグラム しかし、今では面取りはなくなりました。を使用してファセットを手動で行うことができることはわかっていますgrid.arrangeが、それは面倒です (実際のデータセットには 2 つだけでなく多くのテストがあります)。より洗練されたソリューションはありますか?

2 つのフォローアップの質問:

  1. geom_histogram「ymin != 0 の場合、スタッキングが適切に定義されていません」という警告が表示されます。それがどのように「明確に定義されていない」か知っている人はいますか? 言い換えれば、これは私が気にするべきことですか?
  2. ヒストグラムの代わりにドットプロットを使用したいのですが、反転はドットプロットでは機能しないようです。何故ですか?それを機能させる方法はありますか?

前もって感謝します!

4

1 に答える 1

3

を注意深く読むと、geom_dotplot配当が得られます。

ggplot() +
  facet_wrap(~test) +
  geom_dotplot(data=subset(dat, group=="Experimental"), aes(score, fill="Experimental")) +
  geom_dotplot(data=subset(dat, group=="Control"), aes(score, fill="Control"),stackdir = "down") +
  scale_fill_hue("Group")

ここに画像の説明を入力

stackdir私は頭のてっぺんからの議論を知りませんでした。私はそれを調べなければなりませんでした!

于 2012-10-11T20:20:02.453 に答える