> 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
This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:40:56 EST