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

Reply via email to