Matt Goff wrote:
I am trying to use the formula interface for the boxplot.
Currently running R 2.2.1 on Windows XP.
The problem is that boxplot is displaying groups that are empty in the
plot.
The following example demonstrates what it is happening (though my actual
situation is a little more complicated):
data-data.frame(values=c(1:25), groups=rep(c(A,B,C,D,E),
each=5))
boxplot(data$values~data$groups, subset=data$groups!=C)
The plot includes a space for level C with no boxplot. I would like to
have only those levels with associated boxplots be shown in the figure.
So in this case, there should only be values A, B, D, and E evenly
spaced along the horizontal axis.
I am a little confused because I am reusing old code and I don't remember
having this issue before, so perhaps there have been some changes in the
behavior of the boxplot function since the last time I use the code.
It seems like there's probably a simple solution, but I'm not seeing it.
Thanks,
Matt Goff
__
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
Hi, Matt,
I'm afraid you cannot do what you want with boxplot.formula. You have at
least two options:
1) Supply only data that has no empty levels.
2) Create a new function that does what you need:
## add `drop.unused.levels' argument to boxplot.formula
boxplot2 -
function (formula, data = NULL, ...,
subset, na.action = NULL,
drop.unused.levels = TRUE)
{
if (missing(formula) || (length(formula) != 3))
stop('formula' missing or incorrect)
m - match.call(expand.dots = FALSE)
if (is.matrix(eval(m$data, parent.frame(
m$data - as.data.frame(data)
m$... - NULL
m$na.action - na.action
m$drop.unused.levels - drop.unused.levels
m[[1]] - as.name(model.frame)
mf - eval(m, parent.frame())
response - attr(attr(mf, terms), response)
boxplot(split(mf[[response]], mf[-response]), ...)
}
values - 1:25
groups - factor(rep(c(A,B,C,D,E), each=5))
boxplot2(values ~ groups, subset = groups != C)
HTH,
--sundar
__
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