From bill at insightful.com  Mon May 22 17:50:34 2006
From: bill at insightful.com (Bill Dunlap)
Date: Mon, 22 May 2006 08:50:34 -0700 (PDT)
Subject: [Rd] Changing the generic of as.data.frame
In-Reply-To: <Pine.LNX.4.64.0605221128030.14394@gannet.stats.ox.ac.uk>
References: <Pine.LNX.4.64.0605221128030.14394@gannet.stats.ox.ac.uk>
Message-ID: <Pine.GSO.4.56.0605220839170.25139@octopus>

On Mon, 22 May 2006, Prof Brian Ripley wrote:

> The other motivation was to allow the option to not convert character
> vectors to factors, which needed an additional argument to
> as.data.frame.character.  So data.frame now has an argument 'charToFactor'
> controlled by a global option (which also controls the default of as.is in
> read.table).  More experience will be needed as to whether it is safe to
> work with the global option set to FALSE, so that aspect should be
> regarded as experimental until 2.4.0 is released or it is withdrawn.

Splus's data.frame() and as.data.frame() have had the 'stringsAsFactors'
argument to data.frame and as.data.frame since version 6.0 (2001).  Their
default values come from options("stringsAsFactors").  read.table() and
a few other data.frame-oriented functions have the same argument.
It looks like stringsAsFactors has the same functionality as your
new charToFactor.  Would it be feasible to change its name to stringsAsFactors?

Splus> help(data.frame)
                     Construct a Data Frame Object

USAGE:

data.frame(..., row.names, check.rows=F, check.names=T,
           na.strings="NA", dup.row.names=F, stringsAsFactors=<<see below>>)
data.frameAux(x, ...)
as.data.frame(x, row.names=NULL,  stringsAsFactors=<<see below>>, ...)
is.data.frame(x)
...
   stringsAsFactors
          a logical flag; if TRUE then convert character arguments
          to factors whose levels are the unique strings in the
          argument. This may save time and space if there a many
          repeated values in the strings and may make the
          statistical modelling functions easier to use. The
          default is TRUE, unless one sets options(stringsAsFactors=FALSE).
...


----------------------------------------------------------------------------
Bill Dunlap
Insightful Corporation
bill at insightful dot com
360-428-8146

 "All statements in this message represent the opinions of the author and do
 not necessarily reflect Insightful Corporation policy or position."



[Rd] Changing the generic of as.data.frame
Bill Dunlap