R data.table带roll的外部联接=";最近的;有限制

R data.table带roll的外部联接=";最近的;有限制,r,data.table,R,Data.table,更新:我想这主要是我想要的,但现在我有多个匹配。我想这是另一个问题。如果能够将滚动联接组合为非等联接,那就太好了 df2[copy(df1)[,`:=`(targetDate2=targetDate+hours(4),targetDate1=targetDate-hours(4)), `:=`(Value=i.Value,targetDate.df1=targetDate), on=。(ID==ID,TargDate>=TargDate1,TargDate这是一个数据表方式来连接行=TargDa

更新:我想这主要是我想要的,但现在我有多个匹配。我想这是另一个问题。如果能够将滚动联接组合为非等联接,那就太好了

df2[copy(df1)[,`:=`(targetDate2=targetDate+hours(4),targetDate1=targetDate-hours(4)),
`:=`(Value=i.Value,targetDate.df1=targetDate),

on=。(ID==ID,TargDate>=TargDate1,TargDate这是一个数据表方式来连接行=TargDate,TargDate Tiffany,您能提供一个理想的数据框吗?这很好!我想保留两个数据框中的所有行,但这是一个非常有用的开始。谢谢。
df1[ copy(df2)[, TargDate2 := TargDate + hours(4)], 
     `:=`( ValueMatch = i.ValueMatch, TargDate.df2 = TargDate ), 
     on = .(ID == ID, TargDate >= TargDate, TargDate <= TargDate2) ]


#    ID            TargDate     Value ValueMatch        TargDate.df2
# 1:  1 2019-06-05 13:32:48 10.755891         NA                <NA>
# 2:  2 2019-06-05 14:21:47 10.194922         NA                <NA>
# 3:  2 2019-06-05 19:11:32  9.689380         NA                <NA>
# 4:  3 2019-06-05 19:18:21  8.892650   46.59552 2019-06-05 17:56:47
# 5:  1 2019-06-05 22:27:28 10.562465         NA                <NA>
# 6:  3 2019-06-06 03:42:42  9.977533   22.48528 2019-06-06 03:12:42
# 7:  3 2019-06-06 04:33:36  9.991905   43.88468 2019-06-06 04:26:16
# 8:  2 2019-06-06 06:00:34 10.471918         NA                <NA>
# 9:  2 2019-06-06 06:13:10 10.410611   63.67443 2019-06-06 06:10:11
#10:  1 2019-06-06 12:10:15 10.296951   51.20187 2019-06-06 08:45:39