[R] How to avoid automatic coercion to factor?
Brian D Ripley
ripley at stats.ox.ac.uk
Thu Sep 4 17:05:52 CEST 2003
Yes, that is one scenario and for that we need a better class
(possibly a better data.frame class).
But there are other scenarios for which a special class for the
column is better. Which is why I asked.
> Steve Dutky <steve.dutky at thomson.com> wrote:
>> I have a function that manipulates a list of numeric and character
>> components of equal length and wants to return a data.frame.
>> ...
>> How can I get the columns Char1, Char2, (...CharN) returned coerced to
>> character and not factor?
>
> Prof Brian Ripley <ripley at stats.ox.ac.uk> wrote:
>> ... We should ask why you want character columns in a data frame?...
>
> I think Steve's situation is very common. It points up a long-standing
> gap in the S language, namely a class of objects for tabular data that
> is less restrictive than data.frame or matrix. Data frames are really
> designed for statistics (thus their inclination towards factors and
> valid column names), while matrices can only handle a single mode of
> data (numeric or character).
>
> In my own world, I've "implemented" this "class" as lists of
> equal-length vectors, and built many tools for it that mirror
> read.table, write.table, merge, cbind, rbind, etc. Except that I've
> done it sloppily, without using real classes or
> constructors/validators/methods.
>
> It would be nice to have a real class "table" (maybe data.frame would
> extend it?). But no, I'm not volunteering to build it. :-/
> --
> -- David Brahm (brahm at alum.mit.edu)
--
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-help
mailing list