使用R将数据帧转换为时间序列
我有一个时间序列数据的格式使用R将数据帧转换为时间序列,r,time-series,portfolio,quantitative-finance,R,Time Series,Portfolio,Quantitative Finance,我有一个时间序列数据的格式 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
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)
“时间”列中的时间显示两次,并且开始时间为下午1:00。时间顺序与原始数据格式不同。
(原始数据帧的开始时间为上午9:00)。
请帮助。试试这个:
非常感谢。成功了:)
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