今天是个好日子。我有一个如下所示的数据框。我想计算每一行中事件的时间差。我该如何做到这一点?我想要的只是一个代码,它将识别重复事件并根据发生时间找出差异。请注意,实现必须在 R 中。谢谢
1 回答
0
library(dplyr)
event <- 'fksaajwbccasdvbaabcadcaeab'
time <- '12233334444455556666777889'
event <- event %>% strsplit('') %>% unlist
time <- time %>% strsplit('') %>% unlist %>% as.numeric
data.frame(event, time) %>%
mutate(repeat_event = ifelse(lag(event) == event, 1, 0)) %>%
mutate(time_delta = ifelse((time - lag(time)) == 1, 1, 0))
event time repeat_event time_delta
1 f 1 NA NA
2 k 2 0 1
3 s 2 0 0
4 a 3 0 1
5 a 3 1 0
6 j 3 0 0
7 w 3 0 0
8 b 4 0 1
9 c 4 0 0
10 c 4 1 0
11 a 4 0 0
12 s 4 0 0
13 d 5 0 1
14 v 5 0 0
15 b 5 0 0
16 a 5 0 0
17 a 6 1 1
18 b 6 0 0
19 c 6 0 0
20 a 6 0 0
21 d 7 0 1
22 c 7 0 0
23 a 7 0 0
24 e 8 0 1
25 a 8 0 0
26 b 9 0 1
于 2020-11-04T13:56:51.393 回答
