> 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