Как ранжироваться в группах в R?
ОК, проверьте этот фрейм данных ...
customer_name order_dates order_values
1 John 2010-11-01 15
2 Bob 2008-03-25 12
3 Alex 2009-11-15 5
4 John 2012-08-06 15
5 John 2015-05-07 20
Допустим, я хочу добавить переменную заказа, которая ранжирует самое высокое значение заказа по имени, по дате максимального заказа, используя дату последнего заказа на прерывателе связи. Итак, в конечном итоге данные должны выглядеть так:
customer_name order_dates order_values ranked_order_values_by_max_value_date
1 John 2010-11-01 15 3
2 Bob 2008-03-25 12 1
3 Alex 2009-11-15 5 1
4 John 2012-08-06 15 2
5 John 2015-05-07 20 1
При этом каждый отдельный ордер получает 1, а все последующие ордера ранжируются на основе значения, а прерыватель связи является датой получения последнего ордера с приоритетом. В этом примере заказ Джона от 6 августа 2012 года получает ранг №2, поскольку он был размещен после 1 ноября 2010 года. Заказ 5/7/2015 равен 1, потому что он был самым большим. Таким образом, даже если этот заказ был размещен 20 лет назад, он должен быть рангом № 1, потому что это был самый высокий заказ Джона.
Кто-нибудь знает, как я могу сделать это в R? Где я могу ранжировать в группе указанных переменных во фрейме данных?
Спасибо за вашу помощь!