У меня есть фрейм данных, который записывает ежедневные случаи различных действий. Я хотел бы определить количество дней, в течение которых произошла активность в повторном порядке, и ее продолжительность. Неделя начинается с дня 1 и заканчивается днем 7. Например, в случае идентификатора 12 активность происходит в течение 7 дней, а продолжительность составляет 11; в случае 123 возникновение активности не является последовательным, поскольку это день разрыва (день 3 и день 6), а в случае идентификатора 10 число появлений равно 6 дням, а продолжительность - 18.
Ввод :
id day1 day2 day3 day4 day5 day6 day7
12 2 1 2 1 1 3 1
123 0 3 0 3 3 0 3
10 0 3 3 3 3 3 3
Вывод:
id Duration Occurance
12 11 7
123 12 0
10 18 6
Пример набора данных:
structure(list(id = c(12L, 123L, 10L), day1 = c(2L, 0L, 3L),
day2 = c(1L, 3L, 3L), day3 = c(2L, 0L, 3L), day4 = c(1L,
3L, 3L), day5 = c(1L, 3L, 3L), day6 = c(3L, 0L, 3L), day7 = c(1L,
3L, 3L)), row.names = c(NA, -3L), class = c("data.table",
"data.frame"), .internal.selfref = <pointer: 0x000002a81a571ef0>)