From ripley at stats.ox.ac.uk  Fri Jun 27 12:45:28 2003
From: ripley at stats.ox.ac.uk (Prof Brian Ripley)
Date: Fri Jun 27 12:45:30 2003
Subject: [Rd] Subsetting and conversion in data frames
Message-ID: <Pine.LNX.4.44.0306271130410.8254-100000@gannet.stats>

I have now finished a long session of documenting and bug-fixing the way 
subscripting of data frames works -- you can see this in the NEWS file in 
R-devel.

As far as I know we are at the point where the only times that character
columns get converted to factors are in data.frame(), read.table() and
when as.data.frame() is called on a list.  (There are read.table-alikes in
other packages which will also convert.)  So if you have a character
column in a data frame, it should stay that way.

cbind.data.frame calls data.frame and so converts, and I believe it should
not.  There may be others (anyone know of any?).

This raises the possibility that using data.frame(I(foo)) could make foo a 
character column and not give it class "AsIs".   I've heard comments that 
having the additional class slows code down, but not seen any examples.
Any relevant experience or comments?

-- 
Brian D. Ripley,                  ripley@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


[Rd] Subsetting and conversion in data frames
Prof Brian Ripley