我有这样的数据:
library(tidyverse)
data <- tibble(id = 1:3,
events = c("E1/E2/E3", "E3/E2", "E1"),
times = c("10/20/30", "35/20", "15"))
对于每个id,有一列包含由/分隔的事件列表,以及也由/分隔的这些事件的时间列表.事件和时间按位置匹配.我希望将这些数据转换为一种整洁的格式,其中有一个包含事件名称和时间的列,每个单独的事件都有重复的id:时间组合.
我想要的格式如下:
desired <- tibble(id = c(1,1,1,2,2,3),
event = c("E1", "E2", "E3", "E3", "E2", "E1"),
time = c(10, 20, 30, 35, 20, 15))
我在概念上考虑过使用Pivot Long,但我不确定如何做到这一点,因为我几乎要在列值中进行透视.我还try 将列拆分成多个列,但我遇到了每个id有不同的顺序和事件数量的问题.谢谢你的帮助!
编辑:在概念上也有类似的问题;但是,这个问题已经在标题中确定了执行此操作的函数,可能很难找到: tidyr use separate_rows over multiple columns个