Я пытаюсь сгенерировать SessionId
из UserId
и разницу в timestamps
. Первому пользователю в таблице, очевидно, назначен 1, и оттуда sessionId должен быть увеличен на 1, если один и тот же пользователь входит в систему, и разница между текущим входом в систему и предыдущим входом составляет менее 5 минут, в противном случае он должен быть увеличен на 1. Я могу сделать это, используя цикл for
и операторы nested if
, но мне интересно, можно ли это сделать с помощью dplyr
или аналогичных пакетов. Уже есть похожий вопрос здесь , но он сортирует UserId, и я хочу достичь этого без сортировки UserId.
Input and Output(SessionId) is in the same table.
CustomerID TimeStamp SessionID
101 0000-01-01 01:00:00 1
101 0000-01-01 01:03:00 1
102 0000-01-01 01:05:00 2
103 0000-01-01 01:06:00 3
104 0000-01-01 01:06:00 4
101 0000-01-01 01:09:00 5
105 0000-01-01 01:10:00 6
104 0000-01-01 01:10:00 4
106 0000-01-01 01:11:00 7
105 0000-01-01 01:12:00 6
104 0000-01-01 01:12:00 4
104 0000-01-01 01:18:00 8
104 0000-01-01 01:20:00 8
105 0000-01-01 01:21:00 9
104 0000-01-01 01:26:00 10