У меня есть большой продаж набор данных (> 1 М строк), которые содержат 2 колонки:частоты на основе уникального даты (альтернатива для цикла) R
- client_id
- PURCHASE_DATE
ID клиента часто повторяется.
Для каждой строки я хотел бы рассчитать «Сколько раз клиент покупал за последние 30 дней».
- client_id
- PURCHASE_DATE
- Freq_Last_30_Days
В настоящее время, I цикл по каждой строке и сделать nrow() рассчитывать с использованием следующих критериев:
data$Client_ID == data$Client_ID[i]
data$Purchase_Date < data$Purchase_Date[i]
data$Purchase_Date >= data$Purchase_Date[i] - 30
Учитывая размер базы данных, требуется больше времени. Есть ли более эффективный способ нахождения частоты без использования цикла for?
поиск rollapply библиотеки зоопарка. – xosp7tom
Кроме того, вы можете проверить [здесь] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) – akrun