提前致谢!
我有两个大型数据集,都包含感兴趣的日期/时间字段列。第一个(head()
粘贴在下面)有一个我感兴趣的日期/时间字段——“RoundDateTimeGMT”列。该数据表相当大(超过 500,000 行)。这些数据特定于 PumaID 列中注明的个人。
PumaID RoundDateTimeGMT
1 P01 3/3/2011 0:00
2 P01 3/3/2011 0:00
3 P01 3/3/2011 0:00
4 P01 3/3/2011 0:00
5 P01 3/3/2011 0:00
6 P01 3/3/2011 0:00
第二个数据集有两个日期/时间字段,分别表示开始时间和结束时间(分别为“FstClstrTime”和“LastClstrTime”)(如下)。所有时间都已使用 as.POSIXct() 转换为可识别的 R 格式。如上所述,这些数据也特定于 PumaID 列中提到的个人。
PumaID FstClstrTime LastClstrTime
1 P01 8/29/2011 6:01 8/29/2011 8:01
2 P01 <NA> <NA>
3 P01 9/10/2011 2:00 9/12/2011 12:01
4 P01 9/9/2011 8:00 9/9/2011 14:01
5 P01 9/7/2011 8:01 9/8/2011 10:00
6 P01 9/4/2011 10:01 9/6/2011 12:01
我的目标是在第一个数据集中创建一个新的二进制列,指示 RoundDateTimeGMT 是否介于每个人的第二个数据表的“FstClstrTime”和“LastClstrTime”之间。如果每个数据表的 PumaID 匹配,我只需要检查 RoundDateTimeGMT 是否在“FstClstrTime”和“LastClstrTime”之间。我认为这可以通过 for() 循环来完成,但我愿意接受任何建议。我只需要检查每个人的每个 RoundDateTimeGMT(同样有超过 500,000 个)到每个 FstClstrTime 和“LastClstrTime”。
对于大型数据集dput()
不起作用,因此很抱歉没有附加任何数据。我希望您仍然可以就如何实现上述目标提供一些建议。
亲切的问候!