[Rd] points(*, pch=NA) does *not* not draw the point (PR#6876)

ripley at stats.ox.ac.uk ripley at stats.ox.ac.uk
Wed May 12 16:45:49 CEST 2004

On Wed, 12 May 2004, Martin Maechler wrote:

> >>>>> "BDR" == Prof Brian Ripley <ripley at stats.ox.ac.uk>
> >>>>>     on Wed, 12 May 2004 15:20:56 +0100 (BST) writes:
>     BDR> On Wed, 12 May 2004 maechler at stat.math.ethz.ch wrote:
>     >> We say in ?points that 'pch' (among others) can be set to
>     >> NA for omitting a point.
>     BDR> I don't think we actually do.  We say
>     BDR>      Points whose 'x', 'y', 'pch', 'col' or 'cex' value
>     BDR> is 'NA' are omitted from the plot.
>     BDR> and earlier
>     BDR>      either be a 'character' or an integer code
>     BDR> I read that to mean that as.logical(NA) is incorrect,
>     BDR> but that as.character(NA) is correct and should result
>     BDR> in the point being omitted.
>     BDR> In short, I disagree as to which is a very strict bug
>     BDR> (although it makes sense to allow logical NAs, of
>     BDR> course).
> You're right, with both statements.
>     BDR> The problems are both in FixupPch in src/main/plot.c.
>     BDR> Can I leave you to fix both?
> yes, I've been in there anyway.
> There's one remaining design decision:
> At the moment I'd go to allow 'logical' and coerce that to
> integer (as in many other S code places).  
> Alternatively, more strict behavior would only allow NA logicals
> and give an error for TRUE or FALSE entries in pch vectors.
> I currently think it's not worth the extra check.

Here it probably makes more sense to coerce to character, and given the 
ambiguity I would allow only an all-NA logical vector.


Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

More information about the R-devel mailing list