[R] Lattice: reasons for not passing subscripted "col", "pch", "lty", "fill" to panel functions

Vitalie Spinu
Thu, 03 Jul 2008 10:45:49 -0000

Dear UseRs!

I am really amazed by lattice capabilities but one thing is really beyond
my understanding.
I would like to have conditional plots with points inside each panel
colored by groups "gr1" and "pched" by "gr2":

xyplot(A~B|C,myD,col=gr1,pch=gr2) #this makes sense for me

But this does not work, because
"col","pch","lty","fill" etc. are passed
directly to panel function and not subscripted by conditional variable C.
The result is that the same truncated vectors col,pch,lty are used for all
panels.

I know I can write something like this to overcome the problem:

xyplot(A~B|C,myD,col=gr1,pch=gr2,
        panel=function(x,y,...,subscripts,col,pch){
		 panel.xyplot(x,y,col=col[subscripts],pch=pch[subscripts]
	)
)
but is so clumsy :(.

Isn't it possible to have   panel.XUZ(x,y,...,col=col[subscritps],...) or
something like that? And dispense whith "groups" variable whatsoever?

Sorry if I missed something.

Many thanks,
Vitalie.