次のコードは、Hmisc、ddply、および ggplot を使用して、標準エラー バーを含むバー プロットを生成します。
means_se <- ddply(mtcars,.(cyl),
function(df) smean.sdl(df$qsec,mult=sqrt(length(df$qsec))^-1))
colnames(means_se) <- c("cyl","mean","lower","upper")
ggplot(means_se,aes(cyl,mean,ymax=upper,ymin=lower,group=1)) +
geom_bar(stat="identity") +
geom_errorbar()
ただし、 mean_sdl などのヘルパー関数を使用して上記を実装すると、はるかに優れているようです。たとえば、次のコードは 95% CI エラー バーを含むプロットを生成します。
ggplot(mtcars, aes(cyl, qsec)) +
stat_summary(fun.y = mean, geom = "bar") +
stat_summary(fun.data = mean_sdl, geom = "errorbar")
私の質問は、標準誤差範囲に stat_summary 実装を使用する方法です。問題は、SE を計算するには、条件ごとの観測数が必要であり、これに mean_sdl の乗数でアクセスする必要があることです。
ggplot 内でこの情報にアクセスするにはどうすればよいですか? これにはきちんとした非ハッキーな解決策がありますか?