Michael Hoffman said the following on 7/10/2007 7:06 AM: > barchart(Titanic, stack=F) produces a very nice horizontal barchart. > Each panel has four groups of two bars. > > barchart(Titanic, stack=F, horizontal=F) doesn't produce the results I > would have expected, as it produces this warning message: > > Warning message: > y should be numeric in: bwplot.formula(x = as.formula(form), data = > list(Class = c(1, > > And it results in each panel having 22 groups of 0-2 bars. > > How can I produce something just like the original except with the > orientation changed? > > Thanks in advance. >
Hi, Michael, It seems that barchart.table doesn't allow the horizontal = FALSE argument. With a slight modification to barchart.table this can be accomplished. Also, I don't get a warning with your original code using R-2.5.1 and lattice 0.16-1. HTH, --sundar barchart.table <- function (x, data = NULL, groups = TRUE, origin = 0, stack = TRUE, horizontal = TRUE, ...) ## add horizontal argument { formula <- x ocall <- sys.call(sys.parent()) if (!is.null(data)) warning("explicit 'data' specification ignored") data <- as.data.frame(formula) nms <- names(data) freq <- which(nms == "Freq") nms <- nms[-freq] ## SD: change formula if horizontal == FALSE form <- if(horizontal) { paste(nms[1], "Freq", sep = "~") } else { paste("Freq", nms[1], sep = "~") } ## SD: end change nms <- nms[-1] len <- length(nms) if (is.logical(groups) && groups && len > 0) { groups <- as.name(nms[len]) nms <- nms[-len] len <- length(nms) } else groups <- NULL if (len > 0) { rest <- paste(nms, collapse = "+") form <- paste(form, rest, sep = "|") } ans <- barchart(as.formula(form), data, groups = eval(groups), origin = origin, stack = stack, ...) ans$call <- ocall ans } barchart(Titanic, stack = FALSE) barchart(Titanic, stack = FALSE, horizontal = FALSE) ______________________________________________ R-help@stat.math.ethz.ch 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.