做配对,倒直方图(make paired, inverted histograms)

2019-08-01 09:16发布

我想使成对的点阵图直方图用于跨一组与在y轴相反的方向示出的两组不同的测试两组。 使用这个简单的数据集

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),有没有更好的解决方案?

两个后续问题:

  1. geom_histogram是给我的,说“堆积没有明确定义,当YMIN!= 0”的警告。 有谁知道“没有明确定义,”它是什么? 换句话说,就是这个东西,我应该关心?
  2. 我宁愿使用的,而不是直方图点阵图,但反转似乎并不为点阵图工作。 这是为什么? 任何想法如何得到它的工作?

提前致谢!

Answer 1:

认真阅读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论证了我的头顶。 我不得不关注一下吧!



文章来源: make paired, inverted histograms
标签: r ggplot2