[R] Odp: ^ operator

Liviu Andronic landronimirc at gmail.com
Mon Nov 16 14:13:27 CET 2009


On 11/16/09, Ted Harding <Ted.Harding at manchester.ac.uk> wrote:
> Not in this case (see below), though of course in general "-" takes
>  precedence over "^", so, for example, in the expression
>
>   -2^(1/3)
>
>  the "-" is applied first, giving (-2); and then "^" is applied
>  next, giving (-2)^(1/3). There is a work-round (see below).
>
Hmm.. I may be doing something wrong, but from here it looks to be the
opposite.
> -2^(1/3); -(2)^(1/3); -(2^(1/3));
[1] -1.2599
[1] -1.2599
[1] -1.2599
> (-2)^(1/3)
[1] NaN

The results don't change when switching from the unary minus.
> 0-2^(1/3); 0-(2)^(1/3); 0-(2^(1/3));
[1] -1.2599
[1] -1.2599
[1] -1.2599

It seems to me that in this example "^" is applied first, and "-"
second. There is also this fortune entry.
> fortune("unary")

Thomas Lumley: The precedence of ^ is higher than that of unary minus.
It may be surprising,
[...]
Hervé Pagès: No, it's not surprising. At least to me... In the country
where I grew up, I've
been teached that -x^2 means -(x^2) not (-x)^2.
   -- Thomas Lumley and Hervé Pagès (both explaining that operator
precedence is working
      perfectly well)
      R-devel (January 2006)


Liviu




More information about the R-help mailing list