我需要删除所有行,其中相同的user_id在早期约定的30分钟内为每一组约定进行了另一次约定,只有当状态不是3.我怎样才能删除这些约会R.please帮助我 这是样本数据集 sampleData
答案 0 :(得分:0)
如果您是如图所示的数据框,则可以使用dplyr并执行以下操作:
library(dplyr)
df <- df %>% group_by(user_id) %>% filter(!(status != 3 & as.numeric(difftime(date_time, lag(date_time), units = 'mins')) <= 30))
您正在按user_id进行分组,因此您只计算给定用户的互动时间差异,然后过滤任何状态!= 3与“&#39;滞后”的时间差异。参与不到30分钟。