[Rd] matrix coercion, logical -> character
Peter Dalgaard
p.dalgaard at biostat.ku.dk
Mon Dec 8 18:50:31 MET 2003
Prof Brian Ripley <ripley at stats.ox.ac.uk> writes:
> On 8 Dec 2003, Peter Dalgaard wrote:
>
> >
> > Anyone know whether this is intentional, and by which rationale?
> > (R-devel on RedHat, but hardly new)
>
> It is documented:
>
> 'as.matrix' is a generic function. The method for data frames will
> convert any non-numeric column into a character vector using
> 'format' and so return a character matrix.
and for apply:
If 'X' is not an array but has a dimension attribute, 'apply'
attempts to coerce it to an array via 'as.matrix' if it is
two-dimensional (e.g., data frames) or via 'as.array'.
explains why apply(...., which) got in trouble
> Remember than not some long ago you could not have logical columns in data
> frames: they were coerced to factors.
>
> It would be easy to change to allow numeric, logical or character
> matrices.
Yes. That was the direction in which I was hinting. It does seem a bit
like a leftover, and applying which() over a set of logical
columns is not unlikely to be useful in practice.
--
O__ ---- Peter Dalgaard Blegdamsvej 3
c/ /'_ --- Dept. of Biostatistics 2200 Cph. N
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
More information about the R-devel
mailing list