On 2011-06-28 00:12, Louis Plough wrote:
Hi,
I have binary (0,1) data for a trait as my response variable, and
a dependent variable, genotype, with three classes (AA, AB, BB).

I would like to plot this data so that across the three genoytpes, even
though the points are all either 0 or 1, i want them to stack up or be seen
using 'jitter'.  So far I have been able to do this using xyplot {lattice}
(code below) but could not get the points to jitter or stack up on boxplot
or bwplot {lattice}.

  I would also like to add to the xyplot object, the mean of the values at
each of these classes  which will vary depending on how many data points are
at 0 and 1 for a given genotype.  I would also like to put error (i.e.
standard error) bars around these estimates.

I have tried using the points() function to put the mean at each of the
genotype classes, but the point ends up off the figure. Any ideas how to get
this going?

here is some example code.

gtype<-c("AA","AB","BB")
x<-sample(gtype,20,replace=TRUE)
y<-sample(c(0,1),20,replace=TRUE)
bin.data<-data.frame(x,y)
xyplot(y~x, jitter.y=TRUE, jitter.x=TRUE,factor=.6, data=bin.data)

Then If I wanted to add the means to the plot, I would do this, which will
print the mean points on a box plot, but not an xyplot:

means1<- tapply(bin.data$y,bin.data$x,mean)
points(means1,col="red",pch=18)

Is there a way to get the means, and even error bars on the same xyplot?

I don't know why you want to do what you're doing, but it's
pretty easy with lattice (or with ggplot2). But do use
stripplot instead of xyplot. Define an appropriate panel
function to add the mean points and error bars:

  library(lattice)
  library(Hmisc) ## for error bars, using panel.xYplot

  mn <- with(bin.data, tapply(y, x, mean))
  M <- Cbind(mn, lower = mn - .1, upper = mn + .1) ## NB: capital 'C'

  stripplot(jitter(y, factor =.6) ~ x,
    data = bin.data,
    ylab = "",
    panel = function(...) {
      panel.stripplot(..., jitter=TRUE, factor=1.2, pch=1, cex=2)
      panel.xYplot(seq_along(mn), M, pch=16, cex=2, col="red")
    }
  )

Peter Ehlers


Thanks for any help in advance,
Louis

        [[alternative HTML version deleted]]

______________________________________________
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.

______________________________________________
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.

Reply via email to