Hi,
I think this question is best explained using the following
self-contained toy example:
## cut code here and paste to R window
z <- cbind(rep(c("BIC", "hist"), each = 150), rep(rep(c(5, 10, 30),
each = 50),2))
z <- as.data.frame(z)
z <- cbind(z, runif(300))
names(z) <- c("Method", "sigma", "Error")
library(lattice)
bwplot(Error~Method | sigma, data = z, horiz = F, xlab = "Method",
layout = c(3,1))
## end code
Now the question:
I would like the panels to be in the order of sigma, i. e. 5, 10, 30
and not 10, 30 and 5 as is currently the case. Is this possible?
Not to seek too much indulgence, but to ask anyway, I wonder if it is
possible to have a Greek sigma = 5, a Greek sigma = 10 and a Greek
sigma = 30. (Sort of what we would get using expression(sigma == 5),
expression(sigma == 10), expression(sigma == 10) on "base" R figures).
Please let me know if my question is not clear.
Many thanks for any suggestions and help and best wishes!
Ranjan
question on using lattice panel plots
4 messages · Ranjan Maitra, Sundar Dorai-Raj, Deepayan Sarkar
Try:
z <- cbind(rep(c("BIC", "hist"), each = 150), rep(rep(c(5, 10, 30),
each = 50),2))
z <- as.data.frame(z)
z <- cbind(z, runif(300))
names(z) <- c("Method", "sigma", "Error")
z$sigma <- factor(z$sigma, c("5", "10", "30"))
library(lattice)
sigma <- as.numeric(levels(z$sigma))
sigmaExprList <- lapply(sigma, function(s) bquote(sigma == .(s)))
sigmaExpr <- as.expression(sigmaExprList)
bwplot(Error~Method | sigma, data = z,
horiz = F, xlab = "Method",
strip = strip.custom(var.name = sigmaExpr,
strip.levels = FALSE, strip.names = TRUE),
layout = c(3,1))
HTH,
--sundar
On Thu, Apr 16, 2009 at 12:43 PM, Ranjan Maitra <maitra at iastate.edu> wrote:
Hi,
I think this question is best explained using the following
self-contained toy example:
## cut code here and paste to R window
z <- cbind(rep(c("BIC", "hist"), each = 150), rep(rep(c(5, 10, 30),
each = 50),2))
z <- as.data.frame(z)
z <- cbind(z, runif(300))
names(z) <- c("Method", "sigma", "Error")
library(lattice)
bwplot(Error~Method | sigma, data = z, horiz = F, xlab = "Method",
layout = c(3,1))
## end code
Now the question:
I would like the panels to be in the order of sigma, i. e. 5, 10, 30
and not 10, 30 and 5 as is currently the case. Is this possible?
Not to seek too much indulgence, but to ask anyway, I wonder if it is
possible to have a Greek sigma = 5, a Greek sigma = 10 and a Greek
sigma = 30. (Sort of what we would get using expression(sigma == 5),
expression(sigma == 10), expression(sigma == 10) on "base" R figures).
Please let me know if my question is not clear.
Many thanks for any suggestions and help and best wishes!
Ranjan
______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Sorry, that should be:
sigma <- as.numeric(levels(z$sigma))
sigmaExprList <- lapply(sigma, function(s) bquote(sigma == .(s)))
sigmaExpr <- as.expression(sigmaExprList)
bwplot(Error~Method | sigma, data = z,
horiz = F, xlab = "Method",
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(3,1))
Not sure how to do this with strip.custom.
--sundar
On Thu, Apr 16, 2009 at 1:20 PM, Sundar Dorai-Raj <sdorairaj at gmail.com> wrote:
Try:
z <- cbind(rep(c("BIC", "hist"), each = 150), rep(rep(c(5, 10, 30),
each = 50),2))
z <- as.data.frame(z)
z <- cbind(z, runif(300))
names(z) <- c("Method", "sigma", "Error")
z$sigma <- factor(z$sigma, c("5", "10", "30"))
library(lattice)
sigma <- as.numeric(levels(z$sigma))
sigmaExprList <- lapply(sigma, function(s) bquote(sigma == .(s)))
sigmaExpr <- as.expression(sigmaExprList)
bwplot(Error~Method | sigma, data = z,
? ? ? horiz = F, xlab = "Method",
? ? ? strip = strip.custom(var.name = sigmaExpr,
? ? ? ? strip.levels = FALSE, strip.names = TRUE),
? ? ? layout = c(3,1))
HTH,
--sundar
On Thu, Apr 16, 2009 at 12:43 PM, Ranjan Maitra <maitra at iastate.edu> wrote:
Hi,
I think this question is best explained using the following
self-contained toy example:
## cut code here and paste to R window
z <- cbind(rep(c("BIC", "hist"), each = 150), rep(rep(c(5, 10, 30),
each = 50),2))
z <- as.data.frame(z)
z <- cbind(z, runif(300))
names(z) <- c("Method", "sigma", "Error")
library(lattice)
bwplot(Error~Method | sigma, data = z, horiz = F, xlab = "Method",
layout = c(3,1))
## end code
Now the question:
I would like the panels to be in the order of sigma, i. e. 5, 10, 30
and not 10, 30 and 5 as is currently the case. Is this possible?
Not to seek too much indulgence, but to ask anyway, I wonder if it is
possible to have a Greek sigma = 5, a Greek sigma = 10 and a Greek
sigma = 30. (Sort of what we would get using expression(sigma == 5),
expression(sigma == 10), expression(sigma == 10) on "base" R figures).
Please let me know if my question is not clear.
Many thanks for any suggestions and help and best wishes!
Ranjan
______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
On Thu, Apr 16, 2009 at 1:45 PM, Sundar Dorai-Raj <sdorairaj at gmail.com> wrote:
Sorry, that should be:
sigma <- as.numeric(levels(z$sigma))
sigmaExprList <- lapply(sigma, function(s) bquote(sigma == .(s)))
sigmaExpr <- as.expression(sigmaExprList)
bwplot(Error~Method | sigma, data = z,
? ? ? horiz = F, xlab = "Method",
? ? ? 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(3,1))
Not sure how to do this with strip.custom.
bwplot(Error~Method | sigma, data = z ,
strip = strip.custom(strip.names = TRUE, var.name =
expression(sigma), sep = expression(" = ")))
The formatting wouldn't be as good though.
-Deepayan