我有格式
的时间序列数据 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
数据框的结构是
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
列中的时间&#34;时间&#34;出现两次,开始时间是从下午1:00开始。时间顺序不符合原始数据格式。 (原始数据帧的开始时间是从上午9:00开始)。 请帮忙。
答案 0 :(得分:5)
试试这个:
df_ts <- as.xts(x = df[, -1], order.by = df$Time)
毋庸置疑,这会跳过第一列。