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: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Uwe Ligges
Sent: Thursday, May 19, 2005 10:08 AM
To: Chalasani, Prasad
Cc: [email protected]
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:[EMAIL PROTECTED] Sent: Thursday, May 19, 2005 10:49 AM To: Chalasani, Prasad Cc: [email protected] 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
______________________________________________
[email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
