データセットごとのデータポイントの数が大きく異なる可能性があるデータセットの分布 (バイモーダルとユニモーダル) をグラフィカルに評価しようとしています。私の問題は、ラグプロットのようなものを使用してデータポイントの数を示すことですが、多くのデータポイントを持つシリーズが数ポイントしかないシリーズを圧倒するという問題を回避することです.
現在、私は次のようggplot2
に組み合わせgeom_density
て作業しています:geom_rug
# Set up data: 1000 bimodal "b" points; 20 unimodal "a" points
set.seed(0); require(ggplot2)
x <- c(rnorm(500, mean=10, sd=1), rnorm(500, mean=5, sd=1), rnorm(20, mean=7, sd=1))
l <- c(rep("b", 1000), rep("a", 20))
d <- data.frame(x=x, l=l)
ggplot(d, aes(x=x, colour=l)) + geom_density() + geom_rug()
これはほとんど私が望んでいることですが、「a」ポイントは「b」ポイントに圧倒されます。
geom_point
の代わりに使用してソリューションをハッキングしましたgeom_rug
:
d$ypos <- NA
d$ypos[d$l=="b"] <- 0
d$ypos[d$l=="a"] <- 0.01
ggplot() +
geom_density(data=d, aes(x=x, colour=l)) +
geom_point(data=d, aes(x=x, y=ypos, colour=l), alpha=0.5)
ただし、y 位置を手動で調整する必要があるため、これは満足のいくものではありません。たとえば、位置調整を使用して、異なるシリーズから敷物プロットを分離するより自動的な方法はありますか?