我开始处理一个包含一列数字的数据集(在我的情况下是时间,但以数字格式表示),该数据集还包含一个时间戳事件和一个ID。我希望运行一些代码来扩展数据框以填充数字序列,同时复制事件列(以及任何其他相关列)。我希望按ID来运行此操作,因此我不会填充ID之间的间隙。
这里是我开始处理的数据的简化示例。我想单独为每个ID填充“value”列的序列,每个新行都要用第一行的数据来完成“event”。
a<-c("162", "164", "169", "171", "174", "188", "191", "198","200")
b<-c("start1","end1","start2", "event", "end2", "start1", "end1", "start2", "end2")
c<-c("A","A","A", "A", "A", "B", "B", "B", "B")
original<-data.table(value = a, event = b, ID = c)
以下是我最终目标的重建:
agoal<-c(seq(from = 162, to = 174), seq(from = 188, to = 200))
bgoal<-c("start1","start1","end1","end1", "end1", "end1", "end1",
"start2", "start2", "event", "end2","end2", "end2",
"start1", "start1", "start1", "end1", "end1", "end1", "end1", "end1", "end1", "end1",
"start2", "start2","end2")
cgoal<-c(rep("A",13), rep("B",13))
goal<-data.table(value = agoal, event = bgoal, ID = cgoal)
如果这不太清楚,很抱歉!