Słupki błędów standardowych przy użyciu stat_summary
Poniższy kod tworzy wykresy słupkowe ze standardowymi słupkami błędów przy użyciu Hmisc, ddply i 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()
Jednak implementacja powyższego przy użyciu funkcji pomocniczych, takich jak mean_sdl, wydaje się znacznie lepsza. Na przykład poniższy kod tworzy wykres z słupkami błędu 95% CI:
ggplot(mtcars, aes(cyl, qsec)) +
stat_summary(fun.y = mean, geom = "bar") +
stat_summary(fun.data = mean_sdl, geom = "errorbar")
Moje pytanie brzmi, jak użyć implementacji stat_summary dla standardowych pasków błędów. Problem polega na tym, że aby obliczyć SE, potrzebna jest liczba obserwacji na warunek, co musi być dostępne w mnożniku mean_sdl.
Jak uzyskać dostęp do tych informacji w ggplot? Czy jest na to niezłe rozwiązanie?