[R] R annoyances

Uwe Ligges ligges at statistik.uni-dortmund.de
Fri May 20 08:38:40 CEST 2005


Dear John,

I have not expected to cause that many traffic and largish discussion.

What I tried to point out is that:
- a "programmer" should know that one has to use TRUE / FALSE in code in 
order to make it work generaly which is also checked by R CMD check.
- a "user" simply typing some lines in order to look at the data can 
shortly write T or F instead.

where "programmer" and "user" are not well defined and probably 
undistinguishable according to Chambers (1998).
I'd call people using [..., drop=FALSE] "programmer" here, since the 
code is probably used inside functions.

S-PLUS compatibility (T/F) has to be considered as well.

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. With a common amount of statistical uncertainty I think it 
might be too late for changes ...

Best,
Uwe



John Fox wrote:
> Dear Uwe,
> 
> I've often wondered why T and F aren't reserved words in R as TRUE and FALSE
> are. Perhaps there's some use of T and F as variables, but that seems
> ill-advised.
> 
> Regards,
>  John
> 
> --------------------------------
> John Fox
> Department of Sociology
> McMaster University
> Hamilton, Ontario
> Canada L8S 4M4
> 905-525-9140x23604
> http://socserv.mcmaster.ca/jfox 
> -------------------------------- 
> 
> 
>>-----Original Message-----
>>From: r-help-bounces at stat.math.ethz.ch 
>>[mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of Uwe Ligges
>>Sent: Thursday, May 19, 2005 10:08 AM
>>To: Chalasani, Prasad
>>Cc: r-help at stat.math.ethz.ch
>>Subject: Re: [R] R annoyances
>>
>>Chalasani, Prasad wrote:
>>
>>
>>>Thanks all for pointing out that I can use 
>>>	mtx[,1,drop=F]
>>
>>
>>Which, for example, won't work for
>>  F <- 10.25
>>
>>---> drop=FALSE  !
>>           ^^^^^
>>
>>Uwe Ligges
>>
>>
>>
>>
>>>
>>>-----Original Message-----
>>>From: Uwe Ligges [mailto:ligges at statistik.uni-dortmund.de]
>>>Sent: Thursday, May 19, 2005 10:49 AM
>>>To: Chalasani, Prasad
>>>Cc: r-help at stat.math.ethz.ch
>>>Subject: Re: [R] R annoyances
>>>
>>>
>>>Chalasani, Prasad wrote:
>>>
>>>
>>>>Dear R Folks,
>>>>I'm a big fan of R, but there are a couple of things that 
>>
>>repeatedly 
>>
>>>>annoy me, and I wondered if anyone has neat ways to deal with them.
>>>>
>>>>(a) When using "apply" row-wise to a matrix, it returns
>>>>   the results column-wise, and to preserve the original
>>>>   orientation, I've to do a transpose. E.g. I've to keep
>>>>   doing a transpose, which I consider to be quite annoying.
>>>>	
>>>>   transformed.mtx <- t(apply( mtx, 1, exp))
>>>
>>>
>>>I'd rather type
>>>
>>>   exp(mtx)
>>>
>>>
>>>
>>>
>>>
>>>>(b) When extracting 2 or more columns of a matrix, 
>>>>   R returns the result as a matrix, BUT when extracting
>>>>   just one column, it returns a vector/array, rather than
>>>>   a matrix, so I've to keep doing as.matrix, which is annoying.
>>>>
>>>>	sub.mtx <- as.matrix(mtx[,1])
>>>>
>>>>	Of course I could write a suitable function
>>>>		cols <- function(mtx,range) as.matrix(mtx[, range])
>>>>	but then I lose the syntactic sugar of being able to say "[,1]".
>>>
>>>
>>>The docs suggest:
>>>
>>>   mtx[ , 1, drop = FALSE]
>>>
>>>
>>>Uwe Ligges
>>>
>>>
>>>
>>>
>>>>______________________________________________
>>>>R-help at stat.math.ethz.ch mailing list 
>>>>https://stat.ethz.ch/mailman/listinfo/r-help
>>>>PLEASE do read the posting guide! 
>>>>http://www.R-project.org/posting-guide.html
>>
>>______________________________________________
>>R-help at stat.math.ethz.ch mailing list
>>https://stat.ethz.ch/mailman/listinfo/r-help
>>PLEASE do read the posting guide! 
>>http://www.R-project.org/posting-guide.html




More information about the R-help mailing list