Я попытался измерить скорость этих двух способов извлечения квадратного корня:
> system.time(expr = replicate(10000, 1:10000 ** (1/2)))
## user system elapsed
## 0.027 0.001 0.028
> system.time(expr = replicate(10000, sqrt(1:10000)))
## user system elapsed
## 3.722 0.665 4.494
Если функция sqrt()
не может конкурировать с ** 0.5
, зачем нам такая функция?
(система — OS X Yusemite, версия R — 3.1.2)
?Syntax
для приоритета оператора. Возведение в степень^
имеет более высокий приоритет, чем оператор последовательности:
. Сравните1:4 ^ (0.5)
;1:(4 ^ (0.5))
;(1:4) ^ (0.5)
- person Henrik   schedule 17.03.2015