Когда я продлить вектор difftimes другого объектом difftime, то представляется, что единица добавленного элемента игнорируется и переопределена без преобразования:R добавляя к вектору difftime забывает о единицах
> t = Sys.time()
> d = difftime(c((t+1), (t+61)), t)
> d
Time differences in secs
[1] 1 61
> difftime(t+61, t)
Time difference of 1.016667 mins
> d[3] = difftime(t+61, t)
> d
Time differences in secs
[1] 1.000000 61.000000 1.016667
> as.numeric(d)
[1] 1.000000 61.000000 1.016667
В этом находится в R 3.1.0. Есть ли разумное объяснение этому поведению? Я просто хотел сохранить некоторые временные различия таким образом для последующего использования и не ожидал этого вообще. Я не нашел это документировано в любом месте ..
Хорошо, сейчас я просто помогаю себе с указанием всегда единицы:
> d[3] = difftime(t+61, t, unit="secs")
> d
Time differences in secs
[1] 1 61 61
Это поведение R является супер плохо! Я внезапно чувствую себя намного хуже о жизни, после этого укусил меня. – rescdsk
Я также считаю, что это заслуживает исправления или, по крайней мере, предупреждения в документации. – laubbas