1
ggplot2で、面取り密度プロットの最高(後)濃度間隔を示す水平線を描画するにはどうすればよいですか?これは、私が試したものです:私はファセットを尊重することを希望に対しgeom_densityで描画間隔を指定する
# Functions to calculate lower and upper part of HPD.
hpd_lower = function(x) coda::HPDinterval(as.mcmc(x))[1]
hpd_upper = function(x) coda::HPDinterval(as.mcmc(x))[2]
# Data: two groups with different means
df = data.frame(value=c(rnorm(500), rnorm(500, mean=5)), group=rep(c('A', 'B'), each=500))
# Plot it
ggplot(df, aes(x=value)) +
geom_density() +
facet_wrap(~group) +
geom_segment(aes(x=hpd_lower(value), xend=hpd_upper(value), y=0, yend=0), size=3)
あなたが見ることができるように、geom_segment
は、両端面のすべてのデータで計算します。私はまた、HPDinterval
がファセットごとに1回だけ実行されるという解決策が欲しいと思います。