Я хочу сделать новый столбец l oop, как показано ниже: Первый столбец - это индекс домохозяйства. второй столбец - это индекс лица в этом домохозяйстве. третий столбец - это показатель поездки каждого дня в каждой семье в течение дня. zoneOfHome - это зона дома этого домашнего хозяйства. start_zone - это зона, откуда человек начинает свое путешествие оттуда, а end_zone - это зона места, куда человек отправляется туда. В последнем столбце указывается, когда человек вернулся домой. L oop - это последовательность поездок, которая начинается дома и заканчивается дома. Я хочу новый столбец 'l oop', который определяет l oop каждой поездки члена домохозяйства.
tibble::tribble(
~Household, ~person, ~trip, ~ZoneOfHome, ~start_zone, ~end_zone, ~purpose,
1L, 1L, 1L, 22L, 22L, 13L, 0,
1L, 1L, 2L, 22L, 13L, 22L, 1,
1L, 1L, 3L, 22L, 22L, 34L, 0,
1L, 1L, 4L, 22L, 34L, 22L, 1,
1L, 2L, 1L, 22L, 22L, 13L, 0,
1L, 2L, 2L, 22L, 13L, 22L, 1,
2L, 1L, 1L, 15L, 15L, 15L, 0,
2L, 1L, 2L, 15L, 15L, 15L, 1,
2L, 1L, 3L, 15L, 15L, 45L, 0,
2L, 1L, 4L, 15L, 45L, 15L, 1,
3L, 1L, 1L, 17L, 6L, 17L, 1,
3L, 1L, 2L, 17L, 17L, 10L, 0,
3L, 1L, 3L, 17L, 10L, 17L, 1
)
Для каждого человека al oop начинается, когда start_zone=zone
до тех пор, пока показатель не станет равным 1 .
Household person trip ZoneOfHome start_zone end_zone loop
1 1 1 22 22 13 1
1 1 2 22 13 22 1
1 1 3 22 22 34 2
1 1 4 22 34 22 2
1 2 1 22 22 13 1
1 2 2 22 13 22 1
2 1 1 15 15 15 1
2 1 2 15 15 15 1
2 1 3 15 15 45 2
2 1 4 15 45 15 2
3 1 1 17 6 17 -
3 1 2 17 17 10 1
3 1 3 17 10 17 1