All:Come partizionare quando si classifica su una particolare colonna?
Ho un frame di dati come il follow.I so che posso fare una graduatoria globale come questo:
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
Ma come posso impostare un ordine di classificazione per un particolare ID, invece di un ordine di rango globale. Come posso farcela? In T-SQL, possiamo ottenere questo come la seguente sintassi:
RANK() OVER ([ <partition_by_clause> ] <order_by_clause>)
Qualche idea?
Grazie, Tyler. – RobinMin