Дали интересное решение
не смотрел. воскресный вечер как-никак. чисто теоретически, тут можно использовать non-equi join # подтягиваем все uid, которые по возрасту меньше df <- data_panel %>% .[data_panel[, .(pid, yearmonth, fid, yob_x = yob)], .(x.pid, i.pid, yearmonth, fid), on = .(yearmonth, fid, yob < yob_x)] %>% .[, .N, by = .(x.pid, yearmonth)] у меня ~2 секунды на тестовом сэмпле считает, но это совсем не модный ноут
там идентичный ответ. non-equi join, чуть более вылизанный но объяснения там нет
Там дописали объяснение
решение номер 2
Обсуждают сегодня