首页 > 解决方案 > 有没有办法在 data.table 中滚动连接以匹配同时发生的多个观察?

问题描述

我的数据集中有一些观察值具有相同的匹配键以及完全相同的时间。进行传统的滚动连接只会返回结果合并数据集中的两个观察值之一(我不确定滚动连接如何决定返回哪一个)。滚动连接中是否有一个选项或可能的解决方法可以返回两个观察结果?


> dat1
               mydates ID
1: 2005-09-18 08:15:01  A
2: 2005-09-18 08:15:01  A

> dat2
               mydates ID
1: 2005-09-18 08:00:00  A

setkey(dat1,ID,mydates)
setkey(dat2,ID,mydates)

dat3 = dat2[dat1, roll = T]

> dat3

               mydates ID
1: 2005-09-18 08:15:01  A

这是一个玩具示例。滚动连接只会匹配前两行之一,因为它们恰好同时发生。但是,我想在连接时返回两行。

标签: rjoinrolling-computation

解决方案


推荐阅读