我正在运行一个引导程序,以便更好地了解一些基于相对较少参与者的混合模型的统计数据。对于两个条件,我正在绘制自举方式的直方图(link to data)。
当我将直方图绘制在彼此之上(一个小平面/小平面)时,我看到B处理的双峰直方图,但是当每个处理使用小平面绘图时,这个双峰峰会消失。
p <- ggplot(data=bstr3, mapping=aes(x=m, fill=treatment)) +
geom_histogram(binwidth=1, alpha=0.4) +
scale_fill_manual(values=c('A'='red', 'B'='blue'))
p + coord_cartesian(xlim=c(-60, 0))
然而,当我将治疗作为方面绘图时,双峰会消失。
p + facet_wrap(~treatment, ncol=1) + coord_cartesian(xlim=c(-60, 0))
根据ggplot书籍和互联网,我无法理解是/为什么这是有意或可能是错误。我确实找到this question暗示了一个错误,但帖子已经有一年了,我对R和ggplot2有最新的更新。
R version 3.0.1 (2013-05-16)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_United States.1252
[2] LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] graphics grDevices utils datasets stats methods base
other attached packages:
[1] plyr_1.8 reshape2_1.2.2 knitrBootstrap_0.6.5
[4] markdown_0.6.1 knitr_1.3 ggplot2_0.9.3.1
loaded via a namespace (and not attached):
[1] colorspace_1.2-2 dichromat_2.0-0 digest_0.6.3 evaluate_0.4.4
[5] formatR_0.8 grid_3.0.1 gtable_0.1.2 labeling_0.2
[9] MASS_7.3-27 munsell_0.4.2 proto_0.3-10 RColorBrewer_1.0-5
[13] scales_0.2.3 stringr_0.6.2 tools_3.0.1
答案 0 :(得分:11)
position
使用的默认geom_histogram
调整为position_stack
(这似乎是直方图的一个奇怪默认值)。你想要position_identity
。
set.seed(42)
DF <- data.frame(x=rnorm(1000,5,0.5),y=rnorm(1000,7,1))
library(reshape2)
DF <- melt(DF)
library(ggplot2)
p <- ggplot(data=DF, mapping=aes(x=value, fill=variable)) +
geom_histogram(binwidth=1, alpha=0.4) +
scale_fill_manual(values=c('x'='red', 'y'='blue'))
print(p)
p <- ggplot(data=DF, mapping=aes(x=value, fill=variable)) +
geom_histogram(binwidth=1, alpha=0.4, position="identity") +
scale_fill_manual(values=c('x'='red', 'y'='blue'))
print(p)