Dear Martin,
Thank you for the well-reasoned response. I realized I was rather late to make
this suggestion for 4.0.0, changing a somewhat low-level function that can
indeed affect packages.
I was just reviewing some R user scripts that were using type.convert(), mainly
on data frames. In all cases, people were passing as.is=TRUE, so I was reminded
that I would not be the only user who would appreciate if as.is=TRUE becomes the
default at some point.
So I am happy to hear that the help page now mentions that the as.is=TRUE is
planned to be the default at some point in the future. Looking forward to the
4.0.0 official release - all positive changes!
All the best,
Arni
________________________________
From: Martin Maechler <maechler at stat.math.ethz.ch>
Sent: Monday, April 20, 2020 6:23:31 PM
To: Arni Magnusson
Cc: r-devel at r-project.org
Subject: Re: [Rd] stringsAsFactors and type.convert()
>>>>> Arni Magnusson
>>>>> on Mon, 13 Apr 2020 22:20:19 +0000 writes:
> If read.table() is defaulting to "character" instead of
"factor" data type, shouldn't type.convert() also default to
"character" in R 4.0.0?
> This would seem like a good time to change the default to
type.convert(as.is=TRUE), to align it with the new default in read.table and
data.frame. I think many R >=4.0.0 users would be happy with as.is=TRUE as
the default in type.convert.
> I'm happy to work on the patch and run tests if that is helpful.
> Cheers,
> Arni
Dear Arni,
thank you for the notice, which unfortunately wasn't noticed
(Easter break etc) and was too late in any case to fulfill the
criterion of a small trivial bug fix for R 4.0.0 beta (very close
to becoming RC (= "Release Candidate").
Even when type.convert() may not be used much directly (but
rather indirectly via read.table() where there's no problem), we
found it too risky to destabilize the R 4.0.0 prereleases.
As you all know there were ( / are?) still package changes
needed and a few other important "todo"s, so we had to decide to
postpone this (even for R-devel) to after releasing R 4.0.0
coming Friday.
I've committed a change to the help page which does mention that
the default for 'as.is' is planned to be changed.
Also, the help page's "Details" section, for a long time has
ended with
Since this is a helper function, the caller should always pass an
appropriate value of 'as.is'.
If useRs and package authors have followed this advice, they
won't be bitten at all.
Best regards,
Martin