How to partition when ranking on a particular column?
All: I have a data frame like the follow.I know I can do a global rank order like this: 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 But how can I set a rank order for a particular ID instead of a global rank order. How can I get this done? In T-SQL, we can get this done as the following