Я буквально застрял на этом. df1
имеет следующие переменные:
serial
= группа людей
id1
= человек из группы ( например, 12 (serial) 1 (id1)
= группа 12 person 1; 12 2 = group 12 person 2, etc
.)
'Day
', когда была сделана первая (или начальная) запись.
Дни состоят из одинакового количества наблюдений (например, 95)
day1 (Monday) = day11-day196
day2 (Tuesday) = day21-day296
day3 (Wednesday) = day31-day396
day4 (Thursday) = day41-day496
day5 (Friday) = day51-day596
day6 (Saturday) = day61-day696
day7 (Sunday) = day71-day796
Пример df1
serial id1 Day day1 day2 day3 day4 day5 day6 day7
12 1 Monday 2 1 2 1 1 3 1
123 1 Tuesday 0 3 0 3 3 0 3
10 1 Wednesday 0 3 3 3 3 3 3
Я хотел бы определить последовательные записи (между ежедневные записи) и общее количество записей.
Начальным днем для последовательных записей является переменная «День». Например, последовательная запись будет последовательной 12. Запись началась в понедельник, и в течение недели есть записи (по крайней мере, одна из 95 переменных). В течение недели (переменная 7 x 95) было сделано 11 записей
Непоследовательная запись будет иметь идентификатор 123, поскольку существует день разрыва в день 3 и день 6. Запись началась во вторник, и в среду и субботу есть разрыв.
Наконец, я хотел бы записать продолжительность последовательной записи.
Пример вывода:
serial id1 Duration Occurance Days
12 1 11 7 day1 day2 day3 day4 day5 day6 day7
123 1 12 0 0
10 1 18 5 day3 day4 day5 day6 day7
Пример данных
structure(list(serial = c(12, 123, 10), id1 = c(1, 1, 1), Day = structure(1:3, .Label = c("Monday",
"Tuesday", "Wednesday"), class = "factor"), day1 = c(2, 0, 0),
day2 = c(1, 3, 3), day3 = c(2, 0, 3), day4 = c(1, 3, 3),
day5 = c(1, 3, 3), day6 = c(3, 0, 3), day7 = c(1, 3, 3)), row.names = c(NA,
3L), class = "data.frame")
Подобный пост R - определить последовательные последовательности