Prof Brian D Ripley writes:
On Fri, 31 Aug 2001, Kurt Hornik wrote:
Currently read.table is rather limited in its type conversion.
The algorithm is
0) Read as character
1) Try to convert to numeric. If that works, quit
2) Convert to factor unless !as.is.
I am thinking about adding more flexibility and more classes by the
following two changes.
A) Anticipating the arrival of classes for all R objects, add an
argument say `colClasses' that allows the user to specify the desired
class for every column. This could default to "auto", or NA if people
think "auto" might be a relevant class name one day.
The effect would be equivalent to running
data[[i]] <- as(data[[i]], colClasses[i])
instead of
data[[i]] <- type.convert(data[[i]], as.is = as.is[i], dec = dec)
except that standard classes such as "numeric", "factor", "logical",
"character" would be dispatched directly, and argument "dec" would be
consulted where appropriate.
colClasses = "character" would suppress all conversions, which cannot
currently be done.
Just a small remark. I would prefer `NA' to "auto" (or "unknown"). May
be too late to change this now :-)
Anything can be changed up to 1.4.0 release. In particular, the
present code will have to be changed unless as() is in base by then.
Ok. Can I formally propose to use NA then? (I guess this convention
could be useful in similar situations as well.)