[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