Проблема R с округлением миллисекунд

Учитывая следующую проблему с округлением миллисекунд в R. Как ее обойти чтобы время было правильным?

> options(digits.secs=3)
> as.POSIXlt("13:29:56.061", format='%H:%M:%OS', tz='UTC')
[1] "2012-06-07 13:29:56.060 UTC"
> as.POSIXlt("13:29:56.062", format='%H:%M:%OS', tz='UTC')
[1] "2012-06-07 13:29:56.061 UTC"
> as.POSIXlt("13:29:56.063", format='%H:%M:%OS', tz='UTC')
[1] "2012-06-07 13:29:56.063 UTC"

Я заметил, что этот URL предоставляет справочную информацию, но не решает мою проблему: Загадка с миллисекундами при вызове strptime в R.

Также этот URL затрагивает проблему, но не решает ее: R xts: .001 миллисекунда в индексе.

В этих случаях я вижу следующее:

> x <- as.POSIXlt("13:29:56.061", format='%H:%M:%OS', tz='UTC')
> print(as.numeric(x), digits=20)
[1] 1339075796.0610001087

URL-адрес также указывает на то, что это просто проблема с отображением, но я заметил, что использование таких операторов, как "%OS3"без опций строка, кажется, не набирает правильное количество цифр.

Я использую 32-разрядную версию 2.15.0 под Windows, но, похоже, она существует и в других ситуациях для R.

Обратите внимание, что мои исходные данные — это строки даты и времени в файле CSV. Я должен найти способ преобразования их в правильное миллисекундное время из строки.

7
задан Community 23 May 2017 в 12:00
поделиться