[Rd] minus: operator and sign (PR#7908)

(Ted Harding) Ted.Harding at nessie.mcc.ac.uk
Tue May 31 12:07:18 CEST 2005


On 31-May-05 allsi at eau.ee wrote:
> Full_Name: Allan Sims
> Version: 2.1.0
> OS: WinXP
> Submission from: (NULL) (193.40.25.254)
> 
> 
> This should not be correct. It seams that first power is applied and
> then sign.
>> -2^2
> [1] -4

Rule 1: Know your enemy!

?Syntax -->

     The following unary and binary operators are defined.  They are
     listed in precedence groups, from highest to lowest.

       .......

       '^'                exponentiation (right to left)
       '- +'              unary minus and plus

       .......

       '+ -'              (binary) add, subtract

       .......

So "^" takes precedence over unary "-", which takes precedence
over binary "+" and "-".

But it is always safe (and often prudent) to force precedence
with parentheses -- at least you yourself are then absolutely
sure of exactly what is going to happen, which is the really
important thing (and this is Rule 2, which takes precedence
over Rule 1).

So if you want to force "-2^2" and similar to be the square
of "-2" then do "(-2)^2". And it adds clarity to things like

  2 - - - 2^2

Best wishes,
Ted.


--------------------------------------------------------------------
E-Mail: (Ted Harding) <Ted.Harding at nessie.mcc.ac.uk>
Fax-to-email: +44 (0)870 094 0861
Date: 31-May-05                                       Time: 11:06:58
------------------------------ XFMail ------------------------------



More information about the R-devel mailing list