Спасибо всем за помощь.
Я нашел решение, доведенное до идеи этим ответом на StackOverflow .
Как и вы, я не мог воспроизвести ответ в изолированной среде. Однако, поскольку мое значение "t" было получено из DataFrame, неявное приведение типов, похоже, привело к тому, что значение будет сохранено не так, как в изолированной среде.
Для сравнения, в моей изолированной среде я получу следующее:
> t = as.POSIXct("2018-04-09 09:05:25")
> t
[1] "2018-04-09 09:05:25 CEST"
> as.character(t)
[1] "2018-04-09 09:05:25"
тогда как в моем собственном коде с t, полученным из DataFrame, я бы получил
> t = tb[i, "time"]
> t
[1] "2018-04-09 09:05:25 CEST"
> as.character(t)
[1] "1523257525"
Другими словами, внутренне что-то другое - что, кстати, я до сих пор не могу удержать.
Однако его можно «исправить», применив следующий способ:
t = as.POSIXct(as.numeric(t), origin="1970-01-01")