格式化 xts 日期和时间 X2020.01.06.06.00.00

Formating xts date & time X2020.01.06.06.00.00

我有一个 xts table 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 table 的索引往往会从 2020-01-06 06:00:00 变为 X2020.01.06.06.00.00

请问有什么快速方法可以format/convert恢复正常(2020-01-06 06:00:00)吗?

行名称存储在名为 "row.names"tsx 的属性中,可通过 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")