Skip to content
Prev 300823 / 398506 Next

two questions re: the use of lattice

Dear friends,

I have two questions regarding the use of lattice. First some code:


## begin code

z <- cbind(rep(c("BIC", "ICL", "s_v", "Q_v", "sig-q",
                      "s_lsk", "s_lML", "s_mlsk", "s_mlML", "s_la8",
"s_haar"), each = 250), rep(c(5, 10, 20, 30, 50), each = 50))
z <- rbind(cbind(z, 0), cbind(z, 20), cbind(z, 40))
z <- cbind(z, rnorm(n = nrow(z)))
z <- as.data.frame(z)
names(z) <- c("Method", "sigma", "INU", "Error")
sigma <- as.numeric(levels(z$sigma))
sigmaExprList <- lapply(sigma, function(s) bquote(italic(sigma) == .
(s))) sigmaExpr <- as.expression(sigmaExprList)
bwplot(Error~Method | sigma, data = z[z[,"INU"] == 0,],scales=list
(rot=90), horiz = F, xlab = "Method", ylab = "Relative Error",
       strip = function(which.given, which.panel, var.name,
         strip.levels = FALSE,
         strip.names = TRUE, ...) {
         strip.default(which.given, which.panel,
                       var.name = sigmaExpr[which.panel],
                       strip.levels = FALSE,
                       strip.names = TRUE, ...)
        },
        layout = c(5,1),  col = "red")


## end code

Question 1: how do I "force" the display of the "Method" in the
plotting to be in the same order (i.e.,  in the order of "BIC", "ICL",
"s_v", "Q_v", "sig-q", "s_lsk", "s_lML", "s_mlsk", "s_mlML", "s_la8",
"s_haar") as the input. As you may notice, it puts them in its own
merry order (I suspect in ascii alphabetical order, but that conjecture
is based entirely on my very few sample attempts). 

Question 2: I want to have 3x5 plots of the respective boxplots.
Something like:
Error ~ Method | sigma + INU?
But I want the labels for the sigma and the INU to be only in the
column and the rows (vertically here) as appropriate, in order to save
plotting space. How do I go about doing this?

Please reply through the mailing list so that others may also benefit.
In any case, many thanks again for reading and for any help and
pointers! 

Best wishes,
Ranjan