確率分布からのサンプリングをヒストグラムで美しく描く

この前のエントリーのために作ったグラフが結構気に入ったのでテンプレとして残しておく。

例えば対数正規分布するデータを1000個用意して、

x <- exp(rnorm(1000))

これをPLOT。

library(ggplot2)
qplot(x, geom="blank") + 
  geom_histogram(aes(y=..density..),  colour="black", fill="white") +
  geom_density(alpha=0.2, fill="#6666FF") +
  geom_vline(aes(xintercept=mean(x)), color="red", linetype="dashed", size=2)

xを適当なデータに返るなり関数化して使う。結果はこんな感じになる。赤線が平均値の位置。