Форматирование xts дата и время X2020.01.06.06.00.00 - PullRequest
0 голосов
/ 16 марта 2020

У меня есть таблица xts all.transactions, показывающая:

structure(list(Quantity = c(0, 162000, 149000, -149000)), row.names = c("X2020.01.06.06.00.00", 
"X2020.01.10.15.00.00", "X2020.02.03.15.00.00", "X2020.02.03.15.00.00.1"
), class = "data.frame")

Я заметил, что индекс таблицы XTS будет стремиться измениться с 2020-01-06 06:00:00 на X2020.01.06.06.00.00, когда есть две записи с в то же время.

Есть ли быстрый способ отформатировать / преобразовать его обратно в обычный формат (2020-01-06 06:00:00), пожалуйста?

1 Ответ

1 голос
/ 16 марта 2020

Имена строк хранятся в атрибутах tsx с именем "row.names" и доступны с attr(). Поэтому один из способов - отформатировать эти атрибуты в формате времени.

attr(tsx, "row.names") <- as.character(strptime(attr(tsx, "row.names"), 
                                                format="X%Y.%m.%d.%H.%M.%S"))

Проблема, однако, заключается в том, что временные ряды с повторяющимися именами строк недопустимы. Но, возможно, это решение применимо к вашим реальным данным.


Данные

tsx <- structure(list(Quantity = c(0, 162000, 149000, -149000)), row.names = c("X2020.01.06.06.00.00", 
"X2020.01.10.15.00.00", "X2020.02.03.15.00.00", "X2020.02.03.15.00.00.1"
), class = "data.frame")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...