具有更多条件的条件合并表(继续)

时间:2014-11-13 16:05:18

标签: r date merge data.table grouping

这是问题的继续Conditional merging tables

我有两张桌子:

  Time      X1  Class
8/1/2013    56    B
8/1/2013    24    A 
9/1/2013    14    A
9/1/2013    46    B
10/1/2013    8    A
10/1/2013   45    A
11/1/2013    4    B
11/1/2013   63    A
12/1/2013   78    A
12/1/2013   39    B
1/1/2014    69    A
1/1/2014    26    B

  Time      X2  Class
8/1/2013    42    B
8/1/2013    46    A
9/1/2013    38    B
9/1/2013    44    A
10/1/2013   29    B
10/1/2013    2    B
11/1/2013   75    A
11/1/2013    6    B
12/1/2013   36    A
12/1/2013   23    B
1/1/2014    83    B
1/1/2014    126   A

如何将这两个表合并到一个表中,按" Time"并且通过" Class"但有一个条件:第一个表的月份必须与第二个月的下个月匹配 - 如第一个表格的9月份应该与第二个表格的10月份相匹配。

通过" Time"分组的解决方案仅由@David Arenburg提供:

library(data.table)
setkey(setDT(dat1)[, Time := as.Date(Time, format = "%m/%d/%Y")], Time)
setkey(setDT(dat2)[, Time := as.Date(Time, format = "%m/%d/%Y") - 1], Time)
dat2[dat1, roll = -Inf]

0 个答案:

没有答案