Re: [R] index.cond in xyplot

From: Deepayan Sarkar <>
Date: Thu 10 Aug 2006 - 13:24:54 EST

On 8/9/06, Taka Matzmoto <> wrote:
> Dear R-users
> I have 5 dependent variables (y1 to y5) and one independent variable (x) and
> 3 conditioning variables (m, n, and 0). Each of the conditioning variables
> has 2 levels. I created 2*4 panel plots.
> xyplot(y1+y2+y3+y4+y5 ~ x | m*n*o,layout = c(4,2))
> I would like to reorder the 8 panels. I tried to use index.cond (e.g.,
> index.cond = list(c(1,3,2,4,5,7,6,8)) but it didn't work out. I got a error
> message "Error in cond.orders(foo) : Invalid value of index.cond". Please
> let me know if I didn't use index.cond argument properly.

Gabor has already explained why this is wrong.

> I looked at the example in R-help but all examples have just only one
> conditioning variable.
> Is there any way I can arrange the panels in whatever order I want ?

Think of a lattice plot as a an array, with each conditioning variable defining a dimension. In your case, it's a 3-dimensional array. If you assign the result of the xyplot call to a variable, you can reorder the indices just like an array, e.g.:

p <- xyplot(y1+y2+y3+y4+y5 ~ x | m*n*o,layout = c(4,2)) p[, 2:1, 1]

(this is just a convenient way of specifying index.cond). You cannot arrange the panels ``any way you want'', you can only rearrange columns/rows/whatever.

If you really do want an arbitrary arrangement, then you don't want 3 different conditioning variables, you want only one. If you want a separate panel for each combination of m, n and o, create a new factor as their interaction, e.g.

p <- xyplot(y1+y2+y3+y4+y5 ~ x | m:n:o,layout = c(4,2))

Then, you have a one-dimensional vector-like object, which you can reorder by



-Deepayan mailing list PLEASE do read the posting guide and provide commented, minimal, self-contained, reproducible code. Received on Thu Aug 10 13:28:24 2006

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Thu 10 Aug 2006 - 16:20:09 EST.

Mailing list information is available at Please read the posting guide before posting to the list.