首页 > 解决方案 > 检查观察是否落在 R 中的多个区间中

问题描述

我想知道是否有一种方法可以检查观察(带有日期时间的 id)是否属于多个间隔之一。

我有一个数据集 [df] 就像这样:

id   datetime
34   2020-05-13 01:00:17
34   2020-05-16 23:34:17
37   2020-05-15 12:09:17
52   2020-05-13 05:41:17

我想检查这些观察中的任何一个是否落在另一个数据帧 [df_intervals] 中的任何间隔内:

int_id   id   room   entered               left
1        34   A      2020-05-13 00:40:17   2020-05-13 05:41:17
2        34   B      2020-05-16 21:41:18   2020-05-16 23:38:10
3        54   A      2020-05-13 05:11:09   2020-05-13 07:41:20
4        87   A      2020-05-13 09:00:17   2020-05-13 17:41:03
5        34   A      2020-05-18 05:40:11   2020-05-18 06:41:17
6        12   B      2020-05-13 01:48:38   2020-05-13 01:53:09
7        37   B      2020-05-15 11:33:17   2020-05-15 14:01:17
8        89   A      2020-05-13 00:43:02   2020-05-13 05:23:10

理想的结果是这样的:

id   datetime              int_id
34   2020-05-13 01:00:17   1
34   2020-05-16 23:34:17   2
37   2020-05-15 12:09:17   7
52   2020-05-13 05:41:17   NA

非常感谢您的任何建议!

标签: rdataframe

解决方案


您可以使用 :

df[df$id %in% df_intervals$id , ]

这不会给你int_id


推荐阅读