如何通过另一列中的condithons获得列值排名?

时间:2017-11-10 11:51:00

标签: r

> 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

我希望得到名称为乔丹的排名。 我可以通过上面复杂的方法得到它。

任何更简单或更好的方法来获得它?

1 个答案:

答案 0 :(得分:1)

我不确定这是否更简单:

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

#[1] 2