向R中的xts/data.table对象添加相等的空时间隔

向R中的xts/data.table对象添加相等的空时间隔,r,data.table,xts,R,Data.table,Xts,很抱歉,如果这是一个相当简单的问题,但我对R和xts和data.table非常陌生,我无法在网上找到任何可以帮助我的东西。我有如下类似的数据: Time | Volume | .... ----------------------------------------------- 2005-03-02 11:23:40.111 | 123 | .... 2005-03-02 11:23:42.675 | 503

很抱歉,如果这是一个相当简单的问题,但我对R和
xts
data.table
非常陌生,我无法在网上找到任何可以帮助我的东西。我有如下类似的数据:

    Time                 |   Volume   |   ....
-----------------------------------------------
2005-03-02 11:23:40.111  |    123     |   ....
2005-03-02 11:23:42.675  |    503     |   ....
2005-03-02 11:23:42.749  |    -2      |   ....
2005-03-02 11:23:42.912  |    200     |   ....
2005-03-02 11:23:43.002  |    -76     |   ....
2005-03-02 11:23:43.819  |    -134    |   ....
2005-03-02 11:23:45.353  |    506     |   ....  
我希望每秒创建相等间隔的时间间隔,以便上表变成下表:

    Time                 |   Volume   |   ....
-----------------------------------------------
2005-03-02 11:23:40      |    123     |   ....
2005-03-02 11:23:41      |    NA      |   ....
2005-03-02 11:23:42      |    701     |   ....
2005-03-02 11:23:43      |    -210    |   ....
2005-03-02 11:23:44      |    NA      |   ....
2005-03-02 11:23:45      |    506     |   ....  
更具体地说,我希望等距秒间隔从每天09:00开始,到17:00结束

有什么好办法吗?提前谢谢

编辑:以下是
dput
输出:

structure(list(HFTtimevec = structure(c(1122855297, 1122855297, 
1122855309, 1122855310.87, 1122855381.82), class = c("POSIXct", 
"POSIXt")), Price = c(3.48, 3.48, 3.48, 21.32, 3.48), Volume = c(2947, 
1398, 920, 4000, 19735)), .Names = c("HFTtimevec", "Price", "Volume"
), row.names = c(NA, -5L), class = c("data.table", "data.frame"
), .internal.selfref = <pointer: 0x0000000002710788>)
结构, 11228553091122855310.871122855381.82),class=c(“POSIXct”, 价格=c(3.48,3.48,3.48,21.32,3.48),成交量=c(2947, 1398920400019735),名称=c(“HFTtimevec”,“价格”,“数量” ),row.names=c(NA,-5L),class=c(“data.table”,“data.frame” ),.internal.selfref=) 您需要使用

dat<-data.table(dat)
dat[,Time:=strptime(HFTtimevec, "%Y-%m-%d %H:%M:%OS")]
dat1<-dat[,list(Volume=sum(Volume)),by=list(Time)]
dat您需要使用

dat<-data.table(dat)
dat[,Time:=strptime(HFTtimevec, "%Y-%m-%d %H:%M:%OS")]
dat1<-dat[,list(Volume=sum(Volume)),by=list(Time)]

dat请发布
dput(DT[1:5,列表(时间,体积)])
(用数据表替换
DT
)。我们需要一个可复制的例子来帮助我们。@NathanWerth当然,这是dput输出,我还包括了价格栏,只是想对数据的外观有一点了解。谢谢您要创建多少天?仅一天?请发布
dput的输出(DT[1:5,列表(时间,体积)])
(用数据表替换
DT
)。我们需要一个可复制的例子来帮助我们。@NathanWerth当然,这是dput输出,我还包括了价格栏,只是想对数据的外观有一点了解。谢谢您要创建多少天?就一天?谢谢你的回复!通过使用行
aggregate(
True Volume`~格式(如.POSIXct(HFTtimevec),%Y-%m-%d%H:%m:%S),data=HFTsubset1,sum),我确实有类似的功能,但是我想向data.table对象添加额外的行,这些行具有相等的间隔秒(类似于我在上面的示例中给出的间隔),感谢您的回复!通过使用行
aggregate(
truevolume`~格式(如.POSIXct(HFTtimevec),%Y-%m-%d%H:%m:%S),data=HFTsubset1,sum),我确实有类似的功能,但是我想向data.table对象添加具有相等间隔秒间隔的其他行(类似于我在上面的示例中给出的)