[R] The "**" exponentiation operator.
Deepayan Sarkar
deep@y@n@@@rk@r @end|ng |rom gm@||@com
Tue Aug 26 17:55:02 CEST 2025
On Tue, 26 Aug 2025 at 11:06, Rolf Turner <rolfturner using posteo.net> wrote:
>
>
>
> On more than one occasion I have got myself into trouble by
> fumble-fingering and typing "**" when I intended to type "*".
> Unfortunately the expression produced is syntactically correct and the
> consequent incorrect results were difficult (for me) to disentangle.
>
> I would be much happier if the "**" operator were simply not allowed,
> and threw an error. It seems to me that the existence of the "**"
> operator is an archaism, probably deriving from Fortran.
>
> The documentation, obtained from ?Arithmetic, says at one point:
>
> > ** is translated in the parser to ^, but this was undocumented for
> > many years. It appears as an index entry in Becker et al. (1988),
> > pointing to the help for Deprecated but is not actually mentioned on
> > that page. Even though it had been deprecated in S for 20 years, it
> > was still accepted in R in 2008.
>
> It seems still be accepted in R in 2025.
>
> Would there be any mileage in asking R Core to deprecate "**", or
> better still make it defunct? Can there be any rational basis for
> keeping "**" around?
Not a rational basis perhaps, but when I teach R to our newbie
students who all want to learn Python, I have fun pointing out that **
is the official way to exponentiate in Python, and ^ does something
quite crazy. So keeping ** around in R might make it a tad bit more
welcoming to Pythonistas.
Best,
-Deepayan
> cheers,
>
> Rolf Turner
>
> --
> Honorary Research Fellow
> Department of Statistics
> University of Auckland
> Stats. Dep't. (secretaries) phone:
> +64-9-373-7599 ext. 89622
> Home phone: +64-9-480-4619
>
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide https://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
More information about the R-help
mailing list