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

问题描述 投票:0回答:1

我有一个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?]

r datetime xts
1个回答
0
投票

行名存储在名为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")
© www.soinside.com 2019 - 2024. All rights reserved.