[R] add mean and sd to dotplot in each panel using lattice
Phil Spector
spector at stat.berkeley.edu
Thu Feb 10 00:56:32 CET 2011
Xiaokuan -
Maybe this will get you started:
mypanel = function(x,y,...){
agg<-aggregate(y,list(x),function(x)c(mean(x,na.rm=TRUE),sd(x,na.rm=TRUE)))
mns = agg[,2][,1]
sds = agg[,2][,2]
for(i in 1:nrow(agg))llines(c(i-.1,i+.1),rep(mns[i],2),lwd=3)
for(i in 1:nrow(agg)){llines(c(i-.1,i+.1),rep(mns[i] + 1.96 * sds[i],2));
llines(c(i-.1,i+.1),rep(mns[i] - 1.96 * sds[i],2))}
panel.dotplot(x,y,...)
}
dotplot(Score ~ Dose | Sex, groups=Sex, data=dat,panel=mypanel)
- Phil Spector
Statistical Computing Facility
Department of Statistics
UC Berkeley
spector at stat.berkeley.edu
On Wed, 9 Feb 2011, Xiaokuan Wei wrote:
> Hi,
>
> I have a data frame like this:
> ScoreDoseSex
> 2.81Dose1M
> 1.81Dose1M
> 1.22Dose1M
> 0.81Dose1M
> 0.49Dose1M
> 0.22Dose1M
> 0.00Dose1M
> -0.19Dose1M
> -0.17Dose1F
> -0.32Dose1F
> -0.46Dose1F
> -0.58Dose1F
> -0.70Dose1F
> -0.81Dose1F
> -0.91Dose1F
> -1.00Dose1F
> -1.77Dose2M
> -1.85Dose2M
> -1.93Dose2M
> -2.00Dose2M
> -2.07Dose2M
> -2.14Dose2M
> -2.20Dose2M
> -2.26Dose2M
> -2.32Dose2F
> -2.38Dose2F
> -2.17Dose2F
> -2.49Dose2F
> -2.54Dose2F
> -2.58Dose2F
> -2.63Dose2F
> -2.42Dose2F
>
>
>
> I can make the dotplot using lattice package:
>
> library(lattice)
> dat<-read.table("test.txt",header=T,sep="\t")
> dotplot(Score ~ Dose | Sex, groups=Sex, data=dat)
>
>
> How can I add mean line and stdev bar around mean line to this dotplot?
> I have searched maillists, only several post about add sth to dotplot, but they
> are not what I want.
> I know it may have sth to do with panel.function, but don't know how to
> implement it.
> I think the mean and stdev bar are popular additions to dot plot, don't know why
> there is no argument to control this kind of plotting.
> Thanks.
>
> Xiaokuan
>
>
>
> ____________________________________________________________________________________
> TV dinner still cooling?
>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
More information about the R-help
mailing list