在计算旧数据帧之后生成新数据帧

时间:2015-08-12 14:26:50

标签: r dataframe xts

数据框看起来像(约10,000个时间戳)

Timestamp           OFR    OFRSIZ   BID BIDSIZ
2015-01-04 09:00:00 375     100     365  10
2015-04-01 09:00:33 369.9   10      365  10
2015-04-01 09:00:36 366     100     367.8 55
2015-04-01 09:00:42 367.45  30      366.4 130
2015-04-01 09:00:43 369.9   10      365   10
2015-04-01 09:00:44 365      5      367.8 55
2015-04-01 09:00:49 369.9   10      365    10

需求是具有相同时间戳的新数据框(New_df),另一列是深度计算为(OFRSIZ + BIDSIZ)。同样可以应用于xts对象吗?

2 个答案:

答案 0 :(得分:1)

如果您是原始数据,则称为m1

depth <- data.frame("Depth" = as.numeric(m1$OFRSIZ) + as.numeric(m1$BIDSIZ))
depth_xts <- xts(depth, order.by = index(m1))
New_df <- merge.xts(m1, depth_xts)

看起来你正在使用WRDS的TAQ数据。您可能会在包[quantmod][highfrequency]

中找到一些有趣的功能

答案 1 :(得分:0)

这样的事情:

New_df <- data.frame(Timestamp = Old_df$Timestamp, Depth = Old_df$OFRSIZ + Old_df$BIDSIZ)