Ranjan Maitra
2011-Aug-09 13:15 UTC
[R] how to display Greek characters in lattice plot (in the labels inside the panels)
Dear friends, I would like to know how to use Greek (and plotmath characters) in lattice plots. Here is an example which works: but I would like to replace "s_v" with expression(hat(sigma))_v. Finally, is there a way to get the BIC, ICL, etc in the same panel such that we can have this text on its side? Please feel free to ask me if I have not been clear or if you have further questions or clarifications. Many thanks again for any suggestions you are able to give! Best wishes, Ranjan --- example code follows -- z <- cbind(rep(c("BIC", "ICL", "s_v","Q_v", "gof-q"), each = 250),rep(c(5, 10, 20, 30, 50), each = 50)) # rep(rep(c(5.12, 2.66, 0.89, 0.53, 0.38), each = 50),9)) z <- as.data.frame(z) z <- cbind(z, (c(sigmaests$BIC, sigmaests$ICL, sigmaests$"s_v", sigmaests$"Q_v", sigmaests$"sig-q"))) names(z) <- c("Method", "sigma", "Error") z$sigma <- factor(z$sigma, c("5", "10", "20", "30", "50")) library(lattice) par(mar = c(3, 3, 1, 1)) sigma <- as.numeric(levels(z$sigma)) sigmaExprList <- lapply(sigma, function(s) bquote(sigma == .(s))) sigmaExpr <- as.expression(sigmaExprList) bwplot(Error~Method | sigma, data = z[z[,"Method"] != "gof-q",], horiz = F, xlab = "Method", ylab = "Relative Absolute 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")
Ranjan Maitra
2011-Aug-09 13:29 UTC
[R] how to display Greek characters in lattice plot (in the labels inside the panels)
Sorry. I forgot to paste 3 lines over: here is the corrected reproducible code. Apologies again, and many thanks, Ranjan Dear friends, I would like to know how to use Greek (and plotmath characters) in lattice plots. Here is an example which works: but I would like to replace "s_v" with expression(hat(sigma))_v. Finally, is there a way to get the BIC, ICL, etc in the same panel such that we can have this text on its side? Please feel free to ask me if I have not been clear or if you have further questions or clarifications. Many thanks again for any suggestions you are able to give! Best wishes, Ranjan --- example code follows -- sigmaests <- matrix(runif(250 * 7), ncol = 7) sigmaests <- as.data.frame(sigmaests) names(sigmaests) <- c("BIC", "ICL", "s_v", "Q_v", "sig-p", "sig-q") names(sigmaests) <- c("BIC", "ICL", "s_v", "Q_v", "sig-p", "sig-q") z <- cbind(rep(c("BIC", "ICL", "s_v","Q_v", "gof-q"), each = 250),rep(c(5, 10, 20, 30, 50), each = 50)) # rep(rep(c(5.12, 2.66, 0.89, 0.53, 0.38), each = 50),9)) z <- as.data.frame(z) z <- cbind(z, (c(sigmaests$BIC, sigmaests$ICL, sigmaests$"s_v", sigmaests$"Q_v", sigmaests$"sig-q"))) names(z) <- c("Method", "sigma", "Error") z$sigma <- factor(z$sigma, c("5", "10", "20", "30", "50")) library(lattice) par(mar = c(3, 3, 1, 1)) sigma <- as.numeric(levels(z$sigma)) sigmaExprList <- lapply(sigma, function(s) bquote(sigma == .(s))) sigmaExpr <- as.expression(sigmaExprList) bwplot(Error~Method | sigma, data = z[z[,"Method"] != "gof-q",], horiz = F, xlab = "Method", ylab = "Relative Absolute 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")