0

提前致谢!

我有两个大型数据集,都包含感兴趣的日期/时间字段列。第一个(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()不起作用,因此很抱歉没有附加任何数据。我希望您仍然可以就如何实现上述目标提供一些建议。

亲切的问候!

4

0 回答 0