> 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
Je veux obtenir le rang par valeur dont le nom est Jordan. Je peux l'obtenir avec la méthode compliquée ci-dessus.
une méthode plus simple ou meilleure pour l'obtenir?
Réponses:
1 pour la réponse № 1Je ne suis pas sûr que ce soit plus simple:
order(-df[,2])[which(df[,1]=="Jordan")]
#[1] 2