我想为两组在一组不同测试中进行配对点图直方图,并使两组在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个),是否有更优雅的解决方案?
两个后续问题:
geom_histogram
给我一个警告,说“当ymin!=0时堆叠未定义”,有人知道它有多么“未定义”吗?换句话说,这是我应该担心的事情吗?- 我更喜欢使用点图而不是直方图,但是倒置似乎不适用于点图。为什么呢?有什么想法如何使它工作?
提前致谢!
+ facet_wrap(~test)
... 吗? - joran