我有一个重复ID和不同值的数据框,我想要做的是对每个值进行各自的ID排名
test <- data.frame(ID = c("A", "B", "C","A", "B", "C","A", "B", "C"), Value = c(15,1,5,17,3,1,19,2,2))
ID Value
1 A 15
2 B 1
3 C 5
4 A 17
5 B 3
6 C 1
7 A 19
8 B 2
9 C 2
我可以对它们进行排序,但我无法弄清楚如何分配排名值。
test[order(test$ID, test$Value, decreasing = T),]
ID Value
3 C 5
9 C 2
6 C 1
5 B 3
8 B 2
2 B 1
7 A 19
4 A 17
1 A 15
所需的输出将是
ID Value Rank
3 C 5 1
9 C 2 2
6 C 1 3
5 B 3 1
8 B 2 2
2 B 1 3
7 A 19 1
4 A 17 2
1 A 15 3