我有一个包含事件开始和结束时间的数据集(称为 df_time),以及另一个包含事件发生时间的数据集(df_val)。我想使用 df_time 将 df_val 过滤到仅在记录的时间间隔内发生的事件。
不过,我对如何做到这一点有点迷茫。
start = c(1, 5, 7, 4)
end = c(2, 7, 11, 7)
df_time = data.frame(start, end)
time = c(3, 6, 2, 10, 11)
val = c(100, 20, 30, 40, 50)
df_val = data.frame(time, val)
df_val %>% select_all() %>%
filter(time >= df_time$start & time <= df_time$end)
输出:
time val
1 6 20
Warning messages:
1: In time >= df_time$start :
longer object length is not a multiple of shorter object length
2: In time <= df_time$end :
longer object length is not a multiple of shorter object length
以上将运行警告消息(上),并给我错误的输出(忽略等于值时间戳的开始/结束)。上面,应该打印除 3 之外的所有值。
我不确定如何解决这个问题,如果有任何帮助/资源,我将不胜感激!