Dear R-core team,

I think I found a small inconsistency in the boxplot function. I don't want to 
post it as a bug since I'm not sure this might be considered as one according 
to the FAQ --- and this is not a major problem. Don't hesitate to tell me if 
I'm wrong.

If you try to do a boxplot on a matrix and set the "at" argument to some vector 
different from 1:n, n is the number of columns of your matrix, then some 
boxplots will be hidden since the default "xlim" value will be set to c(0.5, n 
+ 0.5) during the call of the bxp function.

Currently you can easily bypass this problem by setting "xlim" appropriately 
when calling the boxplot function.

I think it will be better if all boxplots were always shown unless the "xlim" 
argument is specified. (I realized this behavior when I tried to do boxplots on 
conditional simulations of a stochastic process ; in which case the suggested 
behavior might be useful.)

Here's an example

par(mfrow = c(1, 3))
data <- matrix(rnorm(10 * 50), 50)
colnames(data) <- letters[1:10]
x.pos <- seq(-10, 10, length = 10)
boxplot(data, at = x.pos) ## only the last 5 boxplots will appear
boxplot(data, at = 1:10) ## all boxplots will appear
boxplot(data, at = x.pos, xlim = range(x.pos) + c(-0.5, 0.5)) ## all boxplots 
will be shown

I tried to do a patch if you want to change the current behavior --- note this 
is my first patch ever so maybe I'm doing it wrong.

*** Downloads/R-2.14.0/src/library/graphics/R/boxplot.R Mon Oct  3 00:02:21 2011
--- boxplot.R   Thu Nov 17 23:02:45 2011
***************
*** 203,209 ****
      }
  
      if(is.null(pars$xlim))
!         xlim <- c(0.5, n + 0.5)
      else {
        xlim <- pars$xlim
        pars$xlim <- NULL
--- 203,209 ----
      }
  
      if(is.null(pars$xlim))
!         xlim <- c(min(at) - 0.5, max(at) + 0.5)
      else {
        xlim <- pars$xlim
        pars$xlim <- NULL


----------------------------------------------------------------- 
I3M, UMR CNRS 5149
Universite Montpellier II,
4 place Eugene Bataillon
34095 Montpellier cedex 5   France
http://www.math.univ-montp2.fr/~ribatet
Tel: + 33 (0)4 67 14 41 98

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to