我想创建一个带有格子的多面板图,其中每个面板都显示两个重叠的直方图以及垂直线表示的两个直方图的中位数。
我设法绘制了重叠直方图的多面板图。我还设法将多条直方图覆盖在 one 直方图中,其中一些线表示中位数。但是,似乎所有(每个位置)的中位数都被添加到每个面板中。
如何将两个中值添加到多面板直方图的每个面板的两个(重叠)直方图中?
一个数据示例:
d <- data.frame(value=rnorm(200, mean = 170, sd=20), location=rep(c('A', 'B'), each=100), data= rep(c('obs', 'sim'), times=200))
到目前为止我所拥有的: 多面板重叠直方图的简化代码:
histogram(~ value|location, data=d, groups = data,
panel = function(x, ...){
panel.superpose(x, ..., panel.groups=panel.histogram, col=c("cyan", "magenta"), alpha=0.4)
})
为中位数添加行的代码:
histogram(~ value|location, data=d, groups = data,
panel=function(...){
panel.histogram(...);
panel.superpose( ..., panel.groups=function(value, location,col.line,...){
dd <- aggregate(value~location, data.frame(d), mean)
panel.abline(v=dd$value, col.line="red")
})
})
我面临的问题是如何:
谢谢你指出正确的方向!