2016-01-02 29 views
0

只有当状态不是3时,我需要删除同一个user_id在30分钟内完成另一次参与的所有行。如何在rplease帮助中删除此类参与我 这里是样本数据集 sampleData在R中重新格式化列数据

+1

您可以在问题中添加样本数据(以便利的复制/粘贴形式),还有预期的输出? –

+1

请粘贴'dput(head(your_data))'的结果来编辑您的问题,以便我们可以直接使用这些数据。 –

回答

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,有一个时间d与“滞后”参与的差异小于30分钟。

+0

谢谢戈帕拉,我得到了我想要的。干杯! –