R Friends,

I'm running R2.7.1 on Windows XP.

I'm trying to get some lattice functionality which I have not seen
previously documented--I'd like to plot the exact same data in multiple
panels but changing the grouping variable each time so that each panel
highlights a different feature of the data set. The following code does
exactly that with a simple and fabricated air quality data set.

dataSet <- data.frame("Pollutant"=c(rep("Black Carbon",5),rep("PM10",5)),
"Detector"=c(1:5,1:5), "Value"=c(seq(50,10,-10),seq(100,60,-10)),
"Class"="Mass")

xyplot(
  Value ~ Detector | Pollutant,
  data=dataSet,
  aspect = 1.0,
  subscripts=TRUE,
  panel = function(x,y,subscripts,...) {
    if(panel.number() == 1)
panel.superpose(x=dataSet$Detector,y=dataSet$Value,1:nrow(dataSet),groups=dataSet$Pollutant);
    if(panel.number() == 2)
panel.superpose(x=dataSet$Detector,y=dataSet$Value,1:nrow(dataSet),groups=normToEdge_dataSet$Class);
    }
  )

Although the panel labels indicate that only one type of pollutant is
displayed in each, I've instead forced all of the data to be plotted in
both. The first panel shows two colors, grouped by pollutant, the second
shows one color, grouped by class.

Here's where the problem comes, if I add an additional pollutant, instead
defining the data set as follows:

dataSet <- data.frame("Pollutant"=c(rep("Black
Carbon",5),rep("PM10",5),"Ultrafines"),
"Detector"=c(1:5,1:5,10),"Value"=c(seq(50,10,-10),seq(100,60,-10),75),"Class"=c(rep("Mass",10),"Count"))

and rerun the same plotting script, I obtain three panels. The one labeled
"Black Carbon" correctly displays all three pollutants in different colors.
"PM10" however, displays all classes in one color when there should now be
two. Additionally, I now obtain a panel entitled "Ultrafines" which I'd like
to suppress.

The actual data set has a number of different pollutants, so what I'd
ideally like to do is arbitrarily define two panels with different grouping
variables. I've tried to set up dummy groups and to condition on those, but
with no luck. I think what I need to do is possible with viewports, but is
there no way to entice lattice to function in this way?

Any help would be appreciated.


cheers,

Alex Karner
Department of Civil and Environmental Engineering
University of California, Davis

	[[alternative HTML version deleted]]

