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: za...@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: za...@virginia.edu
<http://www.google.com/calendar/embed?src=jzadra%40gmail.com>
______________________________________________
R-help@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
______________________________________________
R-help@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.