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
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
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.
>>
>