[R] Adding error bars to xyplot()
Jon Zadra
jrz9f at virginia.edu
Fri Apr 23 21:56:20 CEST 2010
I took a look at xYplot() but it is beyond over-complex, at least for my
level, and the documentation isn't too clear.
Is there a simple way to make functions like plotCI() and errbar() use
the lattice reference rather than base graphics?
It seems like creating a plot of two lines across three time points
separated into two groups should be a very basic, simple thing for a
statistics program to do. Is there really no way to simply pass a model
to a plotting function and get something that includes error bars? I
just wonder if I"m missing how to do this "the easy way."
Thanks,
Jon
Jon Zadra
Department of Psychology
University of Virginia
P.O. Box 400400
Charlottesville VA 22904
(434) 982-4744
email: zadra at virginia.edu
<http://www.google.com/calendar/embed?src=jzadra%40gmail.com>
On 4/21/2010 6:47 PM, David Winsemius wrote:
>
> On Apr 21, 2010, at 6:24 PM, Jon Zadra wrote:
>
>> Hi,
>>
>> I want to add error bars to a plot generated with xyplot. I've tried
>> both errbar() and plotCI(), but in both cases the points are not in
>> the same place. It's as if the two functions are using a different
>> frame of reference for the plotting area.
>
> Yes. plotCI uses base graphics while xyplot is a lattice function.
>
>>
>> for example:
>> means <- c(92.5, 92.25, 90.9, 91.0, 94.15, 90.05) #means
>> time <- c(1,1,2,2,3,3) #occasion variable
>> group <- rep(c("n","u"),3) #grouping variable
>> SE <- c(2.22, 1.66, 2.10, 1.43, 2.31, 1.57) #standard errors
>>
>> #Plot the graph
>> xyplot(means ~ time, groups=group, type="o", lwd=3, main="Change Over
>> Time by Condition", scale=list(cex=2), xlab="Test Number", auto.key=T)
>>
>> #first attempt
>> require(Hmisc)
>> errbar(x = time, y = means, yplus = means + SE, yminus = means - SE,
>> add=T, col=c("blue", "hotpink"))
>
> A base graphics function.
>>
>> #second attempt, same result
>> require(gplots)
>> plotCI(x = time, y = means, uiw = SE, add=T)
>
> Another base graphics function.
>
> Since you already have Hmisc why not check out Harrell's xYplot which
> provides CI's in a grid function:
> From the xYplot examples:
>
> require(Hmisc)
> dfr <- expand.grid(month=1:12, continent=c('Europe','USA'),
> sex=c('female','male')) set.seed(1)
> dfr <- upData(dfr, y=month/10 + 1*(sex=='female') +
> 2*(continent=='Europe') +
> runif(48,-.15,.15),
> lower=y - runif(48,.05,.15),
> upper=y + runif(48,.05,.15))
> xYplot(Cbind(y,lower,upper) ~ month|continent,
> subset=sex=='male',data=dfr)
>>
>>
>> Thanks in advance!
>>
>> - Jon
>>
>> --
>> Jon Zadra
>> Department of Psychology
>> University of Virginia
>> P.O. Box 400400
>> Charlottesville VA 22904
>> (434) 982-4744
>> email: zadra at virginia.edu
>> <http://www.google.com/calendar/embed?src=jzadra%40gmail.com>
>>
>> ______________________________________________
>> 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.
>
> David Winsemius, MD
> West Hartford, CT
>
More information about the R-help
mailing list