You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用dplyr将数据框行拆分为起始/结束事件列?

用dplyr转换数据框格式的解决方案

直接上可运行的dplyr代码,能适配你的50个重复组场景:

library(dplyr)

result_df <- df %>%
  group_by(rep) %>%
  mutate(
    Start = Event,
    End = lead(Event)
  ) %>%
  filter(duration != 0) %>%
  select(rep, Start, End, duration) %>%
  ungroup()

代码逻辑说明

  • group_by(rep):按rep分组,确保每个重复组内的事件序列单独处理,不会跨组混淆
  • mutate部分:把当前行的Event设为起始事件Start,用lead()函数抓取同组下一行的Event作为结束事件End
  • filter(duration != 0):直接筛掉时长为0的初始行
  • select:调整列的顺序,只保留需要的字段
  • ungroup():取消分组状态,方便后续对整个数据框操作(如果不需要可以省略)

运行这段代码后,输出的result_df就是你想要的格式。

内容的提问来源于stack exchange,提问作者Werrby

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 18:17:04