我有两个数据集,我想根据日期时间信息进行匹配。数据集 1 中的日期时间值表示以给定时间戳结束的 10 分钟时间块。我想将数据集 2 中的每一行与数据集 1 中的 10 分钟时间块(和相关数据)进行匹配。数据示例如下:
Dataset 1
datetime count
10/11/2012 16:25 231
10/11/2012 16:35 55
10/11/2012 16:45 0
10/11/2012 16:55 30
10/11/2012 17:05 22
10/11/2012 17:15 431
10/11/2012 17:25 455
10/11/2012 17:35 560
10/11/2012 17:45 7
10/11/2012 17:55 36
10/11/2012 18:05 12
10/11/2012 18:15 144
10/11/2012 18:25 583
Dataset 2
datetime a n dpm
10/11/2012 16:26 2.03 27 3473
10/11/2012 17:24 1.35 28 3636
10/11/2012 18:21 7.63 29 3516
我想最终得到如下所示的东西:
datetime2 a n dpm datetime1 count
10/11/2012 16:26 2.03 27 3473 10/11/2012 16:35 55
10/11/2012 17:24 1.35 28 3636 10/11/2012 17:25 455
10/11/2012 18:21 7.63 29 3516 10/11/2012 18:25 583
我知道有诸如 cbind()、rbind() 和 merge() 之类的函数可用于合并数据集(基于我过去提出的一个相关问题:How to merge two data frames in r by a日期/时间值不匹配的公共列),但我无法编写在这种情况下有帮助的代码。我尝试了 cbind(round(data, “mins”)) 和 cbind(trun(data, “hours”)) 的各种组合,但这些函数似乎匹配从数据集 1 到数据集 2 的每一行的多个时间块,而不是不仅仅是每行所在的块。我已经尝试了几个小时来找到一些可以解决这个问题的条件规则,但是没有运气。任何帮助将不胜感激。