[R] boxplot question
Thomas Lumley
tlumley at u.washington.edu
Fri Jul 27 22:39:36 CEST 2001
On Fri, 27 Jul 2001, Marc Feldesman wrote:
> I'm graphing a series of boxplots of grouped data inside a function that
> passes the data.frame, the names vector, and a title vector.
>
> Because both the data subset changes with each successive pass through the
> function, occasionally the names vector turns up with only one group to
> plot. This is an expected result. However, when the names argument in
> boxplot has only a single name, it doesn't put in on the
> boxplot. (Actually, this is true whether the names argument is present or
> not. If the call to boxplot is in formula form (e.g. variable ~ group),
> the plot doesn't name the group if there is only one group.)
Yes. In order to get around this you need to modify the bxp() function
that does the actual plotting.
My recommended change is to add a show.names argument:
function (z, notch = FALSE, width = NULL, varwidth = FALSE, notch.frac =
0.5, boxwex = 0.8, border = par("fg"), col = NULL, log = "", pars =
NULL, frame.plot = axes, horizontal = FALSE, add = FALSE, at = NULL,
show.names=NULL, ...)
and then near the end of the function replace the if(axes) conditional
with
if (axes) {
ax.pars <- pars[names(pars) %in% c("xaxt", "yaxt", "las")]
if(is.null(show.names)) show.names<-(n>1)
if (show.names)
do.call("axis", c(list(side = 1 + horizontal, at = at,
labels = z$names), ax.pars))
do.call("axis", c(list(side = 2 - horizontal), ax.pars))
}
Now the standard behaviour is the same but you can override it with
temp<-boxplot(y~g,plot=FALSE)
bxp(temp,show.names=TRUE)
or if you have multiple groups but don't want names for some strange
reason
bxp(temp,show.names=FALSE)
-thomas
Thomas Lumley Asst. Professor, Biostatistics
tlumley at u.washington.edu University of Washington, Seattle
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
More information about the R-help
mailing list