Неожиданный результат от all.equal.POSIXct

Я получаю неожиданный результат от метода all.equal в R, в частности от реализации POSIXct, all.equal.POSIXct.

t <- Sys.time()
isTRUE(all.equal(t, t+1))

возвращает ИСТИНА и

isTRUE(all.equal(t, t+1, scale = 1))

возвращает ЛОЖЬ.

Однако, если вы посмотрите на определение all.equal.POSIXct, вы увидите, что параметр масштаба по умолчанию равен 1 :

> all.equal.POSIXct
function (target, current,..., scale = 1) 
{
    check_tzones(target, current)
    NextMethod("all.equal")
}
<bytecode: 0x22eac90>
<environment: namespace:base>

. Вы получите те же результаты, если явно вызовете all.equal.POSIXct вместо all.equal.

Почему параметр по умолчанию scale = 1 не используется при первом вызове all.equal.POSIXct? Я что-то делаю не так, или я что-то в корне неправильно понял, или это баг?

Заранее благодарю за любую помощь.

9
задан Ash 2 July 2012 в 12:38
поделиться