[R] using perm.cond & index.cond in lattice package

From: 8rino-Luca Pantani <ottorino-luca.pantani_at_unifi.it>
Date: Tue 06 Jul 2004 - 00:57:35 EST


Dear R users,
this is my first question to the list.
I hope it will be not a trivial one.

My problem is to change the order in which the panel are plotted in a lattice/Trellis plot.
I've read the S-plus Trellis Graphics user manual, in which there is a function called "reorder.factor",
that, as far as I can catch from ?xyplot, in the lattice package is substituted by two others:
"index.cond" & "perm.cond"

here below the (fictitious) data

cbind.data.frame(TREAT=c(rep(c("YES", "NO"), each=12)),

                 OM=rep(rep(c(5, 1, 3, 7), each=3), 2),
                 LOCATION=rep(rep(c("here5%OM", "there1%OM",
"elsewhere3%OM",
                                               "overthere7%OM"),
                                      each=3), 2),
                 Y=c(rnorm(3, mean=5),rnorm(3, mean=1),rnorm(3,
mean=3),rnorm(3, mean=7),
                     rnorm(3, mean=6),rnorm(3, mean=2),rnorm(3,
mean=4),rnorm(3, mean=8))
                )->mydframe

library(lattice)
bwplot(Y~TREAT|LOCATION, data=mydframe)
#The panels are plotted in alphabetical order, but I would rather have
something like
bwplot(Y~TREAT|OM, data=mydframe)
# i.e. the panels ordered by OM (Organic Matter) content
#but with LOCATION written in the strip.
#From
#str(bwplot(Y~TREAT|OM, data=mydframe))
#I can see that
# $ index.cond :List of 1
# ..$ : int [1:4] 1 2 3 4
# $ perm.cond : num 1
#so I tried

bwplot(Y~TREAT|LOCATION,
       data=mydframe,
       index.cond=
list((1:4)[order(unique(mydframe$OM[order(mydframe$LOCATION)]))])
       )

#and it seems to work, but without the darker tag for OM in the strips.

Now I have one perplexity and one question:

The last "list((1:4)[order(...." works fine, but it seems to me inelegant, too complicate

                                        and not practical for plots with
more factors.
Any suggestion to simplify/improve the matter?

How can I keep the tags in the strips, still ordering the panels by OM?

Thanks in advance.

PS
The following lines are copied from ?xyplot (I suspect that "order.cond" stands for "index.cond", since I cannot find it in any other page of the lattice help, nor in the general help)

 The order in which the panels are drawn depends on the order

          in which the conditioning variables are specified ('g1'
          varies fastest). Within a conditioning variable, the order
          depends on the order of the levels (which for factors is
          usually in alphabetical order). Both of these orders can be
          modified using the 'order.cond' and 'perm.cond' arguments,
          typically in the 'update' method.

Ottorino-Luca Pantani, UniversitÓ di Firenze Dip. Scienza del Suolo e Nutrizione della Pianta



R-help@stat.math.ethz.ch mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Tue Jul 06 01:03:35 2004

This archive was generated by hypermail 2.1.8 : Fri 18 Mar 2005 - 09:39:17 EST