But one could argue that <= could also mean assignment (although as a mathematician I'd go with implies or perhaps 'is implied by') and wouldn't have the problem highlighted below. Similarly one could use the Pascal := for assignment. So although the idea of having two different operators for 'is equal to' and 'make equal to' makes sense what we have today isn't neccesarily right - we got rid of '_' as assignment for example.
-------------------------- David Jessop Global Head of Quantitative Research UBS Investment Research +44 20 7567 9882 ----- Original Message ----- From: r-help-boun...@r-project.org <r-help-boun...@r-project.org> To: Horace Tso <horace....@pgn.com> Cc: r-help <r-help@r-project.org> Sent: Fri Jun 18 23:26:23 2010 Subject: Re: [R] questions on some operators in R On Fri, Jun 18, 2010 at 2:15 PM, Horace Tso <horace....@pgn.com> wrote: > Li li, > > I know many S-language old timers would tell you to use <- over = for > assignment. Speaking from my own painful experience of debugging S/R codes, I > much much much prefer '='. In fact, I'd like to see the R language get ride > of '<-' as the assignment operator. > > Here is why. > >> x = -5:10 >> x > [1] -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 > > Now I want to find elements of x which are smaller than negative 2, or -2. So > naturally I'd do, > >> which(x<-2) > Error in which(x <- 2) : argument to 'which' is not logical > > Oops, what happened? If you look up help pages for 'which', you'd find no > clue. > > What occurred in the parenthesis is that you've overidden your vector x with > a single value of 2, thanks to the assignment operator '<-'. > > This' a big problem not just because you might end up spending hours finding > out what's wrong with such innocent expression. The worst part is, you'd have > lost your vector x forever. Just image if x is 1200 by 1200 matrix. > I prefer <- because it makes more sense. It evokes the idea of assignment, which is what it is, whereas = reminds one of equality which is wrong since its not equality but assignment. Its also consistent with <<- whereas it seems highly inconsistent to use = and <<- . Its also less ambiguous when not used on the left hand side of a statement. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Issued by UBS AG or affiliates to professional investors for information only and its accuracy/completeness is not guaranteed. All opinions may change without notice and may differ to opinions/recommendations expressed by other business areas of UBS. UBS may maintain long/short positions and trade in instruments referred to. Unless stated otherwise, this is not a personal recommendation, offer or solicitation to buy/sell and any prices/quotations are indicative only. UBS may provide investment banking and other services to, and/or its employees may be directors of, companies referred to. To the extent permitted by law, UBS does not accept any liability arising from the use of this communication. \251 UBS 2010. All rights reserved. Intended for recipient only and not for further distribution without the consent of UBS. UBS Limited is a company registered in England & Wales under company number 2035362, whose registered office is at 1 Finsbury Avenue, London, EC2M 2PP, United Kingdom. UBS AG (London Branch) is registered as a branch of a foreign company under number BR004507, whose registered office is at 1 Finsbury Avenue, London, EC2M 2PP, United Kingdom. UBS Clearing and Execution Services Limited is a company registered in England & Wales under company number 03123037, whose registered office is at 1 Finsbury Avenue, London, EC2M 2PP, United Kingdom. UBS reserves the right to retain all messages. Messages are protected and accessed only in legally justified cases.
______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.