отметки времени в миллисекундах в качестве ключей в таблице - PullRequest
5 голосов
/ 26 октября 2011

В этом вопросе обсуждалась проблема использования дат в data.table с.Решение состоит в том, чтобы использовать встроенные классы для времени и дат.Они работают с точностью до секунды.Есть ли обходной путь для обработки миллисекунд в индексированных столбцах?

Ответы [ 2 ]

8 голосов
/ 26 октября 2011

Встроенный класс для дат и времени, например, POSIXct, работает в миллисекундах (окна) и микросекундах (Linux, OS X). Возможно, вы не включили опцию для печати подсекунд:

R> Sys.time()                            ## under default options
[1] "2011-10-25 17:40:05 CDT"
R> options("digits.secs"=7)              ## you may want this in ~/.Rprofile too
R> Sys.time()
[1] "2011-10-25 17:40:11.177271 CDT"     
R> 
4 голосов
/ 26 октября 2011

Да, data.table требует, чтобы ключи были целыми или похожими (т. Е. POSIXct округляется до секунд).Я бы обошел это, сохранив 1000 * отметку времени в качестве вашего ключа и, возможно, имея отдельный столбец, который является не округленным POSIXct.Или вы можете конвертировать в POSIXct на лету, когда вам это нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...