Я пытаюсь указать сеансы в потоке данных клика.Я группирую строки на основе месяцев и userId и пытаюсь создать другой сеанс переменной, который просматривает столбец diff_days, и увеличивается на on, если это> 0,00209, и в противном случае остается прежним значением.Поэтому в основном я пытаюсь создать переменную сеанса и одновременно использовать версию с задержкой.Первая строка в группе всегда сессия = 1.
Итак, возьмем, к примеру, эти данные из группы group_by:
ID Month diff_days
2 0 NA
2 0 0.0002
2 0 0.001
2 0 0.01
2 0 0.00034
2 0 0.1
2 0 0.3
2 0 0.00005
, и я хочу создать переменную сессии в каждомгруппа, подобная этой:
ID Month diff_days session
2 0 NA 1
2 0 0.0002 1
2 0 0.001 1
2 0 0.01 2
2 0 0.00034 2
2 0 0.1 3
2 0 0.3 4
2 0 0.00005 4
Код, который я использую и не даю правильного ответа:
data <- data %>% group_by(ID, Month)
%>% mutate(session = ifelse(row_number() == 1, 1 ,
ifelse(diff_days < 0.0209, lag(session) , lag(session) + 1))) %>% ungroup()
Я уже давно борюсь с этим, поэтому любая помощь будетс благодарностью.
Спасибо!