R 检查日期是否在时间范围内
我有两个数据集,一个数据集在不同ID的特定时间点上有值,另一个数据集有多个ID的时间框架。现在我想检查dataframe one中的时间点是否在与ID匹配的dataset 2中的任何时间帧内。 例如: df1: df2: 我想要什么 df1_新: 任何帮助都将不胜感激 一个选项可以是:R 检查日期是否在时间范围内,r,time,R,Time,我有两个数据集,一个数据集在不同ID的特定时间点上有值,另一个数据集有多个ID的时间框架。现在我想检查dataframe one中的时间点是否在与ID匹配的dataset 2中的任何时间帧内。 例如: df1: df2: 我想要什么 df1_新: 任何帮助都将不胜感激 一个选项可以是: 库(tidyverse) 图书馆(lubridate) #>日期、相交、设置差异、联合 df_1% as_tible()%>% 变异(mark=map2\u dbl(日期时间,数据,~+any(.x%在%间隔内(
库(tidyverse)
图书馆(lubridate)
#>日期、相交、设置差异、联合
df_1%
as_tible()%>%
变异(mark=map2\u dbl(日期时间,数据,~+any(.x%在%间隔内(.y$start,.y$end)))%>%
选择(-数据)
#>#tibble:5 x 5
#>ID日期时间日期\时间标记
#>
#> 1 1 14.04.2020 11:00:00 2020-04-14 11:00:00 0
#> 2 1 14.04.2020 18:00:00 2020-04-14 18:00:00 1
#> 3 1 15.04.2020 10:00:00 2020-04-15 10:00:00 0
#> 4 1 15.04.2020 20:00:00 2020-04-15 20:00:00 1
#> 5 1 16.04.2020 11:00:00 2020-04-16 11:00:00 1
由(v2.0.0)于2021年5月25日创建
ID date time
1 2020-04-14 11:00:00
1 2020-04-14 18:00:00
1 2020-04-15 10:00:00
1 2020-04-15 20:00:00
1 2020-04-16 11:00:00
1 ...
2 ...
ID start end
1 2020-04-14 16:00:00 2020-04-14 20:00:00
1 2020-04-15 18:00:00 2020-04-16 13:00:00
2 ...
2
ID date time mark
1 2020-04-14 11:00:00 0
1 2020-04-14 18:00:00 1
1 2020-04-15 10:00:00 0
1 2020-04-15 20:00:00 1
1 2020-04-16 11:00:00 1
1 ...
2 ...