вычисление различий событий на основе времени

#r

#r

Вопрос:

Всем доброго дня. У меня есть фрейм данных, который представлен ниже. Я хочу рассчитать различия во времени для событий в каждой строке. как мне это сделать ?. все, что мне нужно, это код, который будет идентифицировать повторяющиеся события и определять разницу в зависимости от времени возникновения. Обратите внимание, что реализация должна быть на R. спасибо

введите описание изображения здесь

Комментарии:

1. пожалуйста, поясните, как вычислить разницу с помощью desired output

Ответ №1:

 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