Все:Как разделять при ранжировании по определенному столбцу?
У меня есть кадр данных, как follow.I знаю, что могу сделать глобальный порядок ранга, как это:
dt <- data.frame(
ID = c('A1','A2','A4','A2','A1','A4','A3','A2','A1','A3'),
Value = c(4,3,1,3,4,6,6,1,8,4)
);
> dt
ID Value
1 A1 4
2 A2 3
3 A4 1
4 A2 3
5 A1 4
6 A4 6
7 A3 6
8 A2 1
9 A1 8
10 A3 4
dt$Order <- rank(dt$Value,ties.method= "first")
> dt
ID Value Order
1 A1 4 5
2 A2 3 3
3 A4 1 1
4 A2 3 4
5 A1 4 6
6 A4 6 8
7 A3 6 9
8 A2 1 2
9 A1 8 10
10 A3 4 7
Но как я могу установить порядок ранжирования для конкретного ID вместо глобальный порядок рангов. Как я могу это сделать? В T-SQL мы можем сделать это как следующий синтаксис:
RANK() OVER ([ <partition_by_clause> ] <order_by_clause>)
Любая идея?
Спасибо, Тайлер. – RobinMin