如何返回某一列指定行排名(另外一列数字排序)

0
> (df %>% mutate(rank.value = rank(-value)) %>% filter(name== "Jordan") %>% select(rank.value))[[1,1]]
[1] 2
> df <- data.frame(
+   name = c("Jordan", "Kobe", "Iverson", "T-mac"),
+   value = c(23, 24, 3, 1)
+ )
>
> df

     name value
1  Jordan    23
2    Kobe    24
3 Iverson     3
4   T-mac     1
>
> (df %>% mutate(rank.value = rank(-value)) %>% filter(name== "Jordan") %>% select(rank.value))[[1,1]]
[1] 2

如上所示两列数据我想得到Jordan的value数据的排名,我上面这样可以得到他的排名是2,但是感觉太复杂。

请问有更简单的方法吗?
已邀请:
0

heavenzone 2017-11-10 回答

rank(-df[,2])[which(df[,1] == "Jordan")]

要回复问题请先登录注册