使用dplyr按id和date分组,获取首次off与末次on位置
行程数据聚合问题
编辑说明
抱歉,之前的示例数据过于简单。完整数据集规模更大,无法通过日期或其他方式恢复事件顺序,且on和off均为id而非事件编号,本身无顺序。已更新示例以贴合实际情况。
示例数据
ids <- c(1, 1, 1, 2, 2, 2) date <- c(1,1,1, 3,3,3) off <- c(234,234,93, 675,876,876) # these are ids on <- c(93,111,234, 876,675,675) # these are ids df <- data.frame(ids, dates, on, off)
行程含义
- 个体1的行程:234 -> 93 -> 234 -> 111
- 个体2的行程:876 -> 675 -> 876 -> 675
关键限制
日期信息不足以单独排序记录,无法直接取首尾值。
需求
按ids和date分组,识别每组的首次off位置与末次on位置,并聚合为单条记录。
预期结果
ids <- c(1, 2) date <- c(1,3) off <- c(234, 111) on <- c(876, 675)
尝试多种方法均未得到正确结果。
内容的提问来源于stack exchange,提问作者Clockwork
相关产品推荐
相关产品推荐

