From m@ech|er @end|ng |rom @t@t@m@th@ethz@ch  Mon Apr 13 14:14:21 2020
From: m@ech|er @end|ng |rom @t@t@m@th@ethz@ch (Martin Maechler)
Date: Mon, 13 Apr 2020 14:14:21 +0200
Subject: [Rd] stringsAsFactors
In-Reply-To: <CAJmOi+NeKmiDErq6fVpRaO8gD+wY5C6qu4TQSQdtxSLxz2hPxw@mail.gmail.com>
References: <e9c057e7-9c64-38ff-c936-fea6c1437b1c@gmail.com>
 <24212.6954.256734.135105@stat.math.ethz.ch>
 <CAJmOi+NeKmiDErq6fVpRaO8gD+wY5C6qu4TQSQdtxSLxz2hPxw@mail.gmail.com>
Message-ID: <24212.22429.652577.149598@stat.math.ethz.ch>

>>>>> Hugh Parsonage 
>>>>>     on Mon, 13 Apr 2020 21:20:26 +1000 writes:

    > Further, in addition to the `val <- FALSE` patch a few hours ago by
    > Martin, the line after should also be changed

    > - if(!is.logical(val) || is.na(val) || length(val) != 1L)
    > + if(!is.logical(val) || length(val) != 1L || is.na(val))

    > ## Consider
    > Sys.setenv("_R_CHECK_LENGTH_1_LOGIC2_" = "TRUE")
    > options(stringsAsFactors = c(TRUE, FALSE))

In R-devel and R 4.0.0 alpha/beta, you have

> options(stringsAsFactors = c(TRUE, FALSE))
Error in options(stringsAsFactors = c(TRUE, FALSE)) : 
  invalid value for 'stringsAsFactors'


    > default.stringsAsFactors()  # correct error message

Note that the default.stringsAsFactors() function is also
deprecated, of course.  Not "formally", in the sense that its
use would give a deprecation warning  {which would be *bad* as
  it's still used for the default argument e.g. of read.table()},
but the help page (in R-devel and R 4.0.0 "pre-release")
has been saying for a while now

1)

Usage:

     data.frame(  ......... )
     
     default.stringsAsFactors() # << this is deprecated !
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^

and 2)   in  'Details:' 

     default.stringsAsFactors is a utility ............
     ........... ............  This function is *deprecated* now and will
     no longer be available in the future.


and so it'd be a waste to change it unnecessarily.
Martin

    > On Mon, 13 Apr 2020 at 18:02, Martin Maechler
    > <maechler at stat.math.ethz.ch> wrote:
    >> 
    >> >>>>> Duncan Murdoch
    >> >>>>>     on Sun, 12 Apr 2020 08:57:14 -0400 writes:
    >> 
    >> > The NEWS for R 4.0.0 says "R now uses a stringsAsFactors = FALSE
    >> > default, and hence by default no longer converts strings to factors in
    >> > calls to data.frame() and read.table()."
    >> 
    >> > This seems to have been implemented by setting options(stringsAsFactors
    >> > = FALSE) in the main R profile.  However, setting
    >> 
    >> > options(stringsAsFactors = NULL)
    >> 
    >> > reverts to the same behavior as the old options(stringsAsFactors =
    >> > TRUE).  Is this intentional?
    >> 
    >> 
    >> No!  Thanks a lot for testing R 4.0.0 alpha/beta, noticing and
    >> alerting us about it.
    >> 
    >> This will be changed ASAP.
    >> 
    >> ... and it will benefit the whole R user community if quite a
    >> few good R users (as most readers of 'R-devel') would start
    >> using 'R 4.0.0 beta' routinely now --- thanks a lot in advance!
    >> 
    >> Martin
    >> 
    >> ______________________________________________
    >> R-devel at r-project.org mailing list
    >> https://stat.ethz.ch/mailman/listinfo/r-devel



[Rd] stringsAsFactors
Martin Maechler