gpt4 book ai didi

r - 使用 R 将数据帧转换为时间序列

转载 作者:行者123 更新时间:2023-12-04 00:06:31 25 4
gpt4 key购买 nike

我有格式的时间序列数据

               Time Ask Bid Trade Ask_Size Bid_Size Trade_Size
2016-11-01 09:00:12 NA 901 NA NA 100 NA
2016-11-01 09:00:21 NA NA 950 NA NA 5
2016-11-01 09:00:21 NA 950 NA NA 5 NA
2016-11-01 09:00:21 905 NA NA 10 NA NA
2016-11-01 09:00:24 NA 921 NA NA 500 NA
2016-11-01 09:00:28 NA 879 NA NA 2 NA

dataframe的结构是

 str(df)

'data.frame': 35797 obs. of 7 variables:
$ Time : POSIXct, format: "2016-11-01 09:00:12" "2016-11-01 09:00:21" ...
$ Ask : num NA NA NA 905 NA NA 1040 NA NA 905 ...
$ Bid : num 901 NA 950 NA 921 879 NA NA 950 NA ...
$ Trade : num NA 950 NA NA NA NA NA 950 NA NA ...
$ Ask_Size : num NA NA NA 10 NA NA 6 NA NA 10 ...
$ Bid_Size : num 100 NA 5 NA 500 2 NA NA 5 NA ...
$ Trade_Size: num NA 5 NA NA NA NA NA 5 NA NA ...

我正在尝试使用代码将其转换为时间序列

library(zoo)
library(xts)
library(lubridate)

df_ts <- xts(x = df, order.by = df$Time)

但我得到了奇怪的输出

                    Time                    Ask       Bid      Trade Ask_Size Bid_Size Trade_Size
2016-11-01 01:00:03 "2016-11-01 01:00:03" NA "938.10" NA NA " 203" NA
2016-11-01 01:00:04 "2016-11-01 01:00:04" NA "937.20" NA NA " 100" NA
2016-11-01 01:00:04 "2016-11-01 01:00:04" " 938.00" NA NA " 28" NA NA
2016-11-01 01:00:04 "2016-11-01 01:00:04" NA "938.10" NA NA " 203" NA
2016-11-01 01:00:04 "2016-11-01 01:00:04" " 939.00" NA NA " 11" NA NA
2016-11-01 01:00:05 "2016-11-01 01:00:05" NA "938.15" NA NA " 19" NA

“时间”列中的时间出现了两次,并且开始时间是从下午 1:00 开始。时间顺序与原始数据格式不同。 (原始数据帧的开始时间是从上午 9:00 开始)。请帮忙。

最佳答案

试试这个:

df_ts <- as.xts(x = df[, -1], order.by = df$Time)

不用说,这会跳过第一列。

关于r - 使用 R 将数据帧转换为时间序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40802927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com