#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