[R] questions on some operators in R

david.jessop at ubs.com david.jessop at ubs.com
Sat Jun 19 00:43:22 CEST 2010


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-bounces at r-project.org <r-help-bounces at r-project.org>
To: Horace Tso <Horace.Tso at pgn.com>
Cc: r-help <r-help at 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.Tso at 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 at 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.
-------------- next part --------------

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.


More information about the R-help mailing list