[R] R annoyances

Prof Brian Ripley ripley at stats.ox.ac.uk
Fri May 20 15:39:24 CEST 2005

On Fri, 20 May 2005, bogdan romocea wrote:

> On 20-May-05 Uwe Ligges wrote:
>> All possible changes to T/F (both removing the meaning of
>> TRUE/FALSE in a clean session and making them reserved words)
>> would break code of lots of users.
> Just wanted to point out that there's another (darker) side to this:
> code that produces bad results without the users even realizing it.
> Personally, I would clearly prefer lots of broken code to mistakes
> caused by T/TRUE and F/FALSE.

You do realize that R CMD check checks for use of unassigned T/F?  So it 
would only be unchecked code which did that.

> Hypothetically, if whatever=T/F were forbidden and only
> whatever=TRUE/FALSE were allowed, all the code could be fixed with a
> simple sed script:
> for F in `ls *.r`
> do
>  mv $F $F.$$
>  sed -e 's/=T,/=TRUE,/g' -e 's/=F,/=FALSE,/g' -e 's/=T)/=TRUE)/g' -e
> 's/=F)/=FALSE)/g' $F.$$ > $F
>  rm $F.$$
> done

I assure you it is a *lot* harder than that.  Some of us use spaces for a 
start. No sed script can know the difference between

F <- "2";  as.numeric(x = F)
F <- "2";  as.numeric(x = FALSE)

(I know because I used to share code bases for S-PLUS and R, and had Perl 
scripts to do the conversion that worked for my style, but not for some 
other authors' code.)

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

More information about the R-help mailing list