まず、次のBoxplotを見てどういう分布か予想できるだろうか?(zは簡単かもしれないがyは難しいと思う)
正解はこれ。xが一様分布、yが正規分布を二つあわせてbimodalにした分布、zが正規分布ですね。
x <- runif(200,min=-2,max=2) y <- c(rnorm(100,mean=-1,sd=0.5),rnorm(100,mean=1,sd=0.5)) z <- rnorm(200,mean=0,sd=1)
Boxplotが密度を表現してないのが問題なのだが、これはBeanplotで解決できる。密度の形がさやみたいで、中のスキャッタープロットが豆みたいなのでBeanplotと名付けたらしい。
元のBoxplotを左に、Beanplotを右に並べてみた。
library(beanplot) g <- rnorm(200,mean=0,sd=1) bm <- c(rnorm(100,mean=-1,sd=0.5),rnorm(100,mean=1,sd=0.5)) uni <- runif(200,min=-2,max=2) d = data.frame(uni=uni,bm=bm,gaus=g) par(mfrow = c(1,2)) boxplot(d, col = "lightblue") beanplot(d, col = "lightpink")
この例では対称なプロットになっているが、左と右で群を変えて非対称なプロットもできる。