Re: [R] Add dots at the mean of a bwplot using panel.points

From: Andy Bunn <abunn_at_whrc.org>
Date: Fri 04 Nov 2005 - 08:25:17 EST


> How can I modify the example below to put a dot at the mean of each violin
> plot? I assume I use panel.points but that's as far as I can go.
>
> bwplot(voice.part ~ height, singer,
> panel = function(..., box.ratio) {
> panel.violin(..., col = "transparent",
> varwidth = FALSE, box.ratio = box.ratio)
> #panel.points(mean(x.....))
> } )

Well, I answered my own question and learned something of the dark art of lattice plots in the process. If this is an inane way to go about this, then somebody please say so.

panel.mean <- function(x,y,...){
  y <- as.numeric(y)
  y.unique <- sort(unique(y))
  for(Y in y.unique) {
    X <- x[y == Y]
    if (!length(X)) next
    mean.value <- list(x = mean(X), y = Y)     do.call("lpoints", c(mean.value, pch = 20))   }
}

bwplot(voice.part ~ height, singer,

            panel = function(...) {
              panel.violin(...,col = "transparent")
              panel.mean(...)
              })

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Fri Nov 04 08:34:57 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:40:56 EST