本文介绍了计算向量中每个索引的排名的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想计算向量中每个索引的排名,例如:
I'd like to calculate the rank of each index within a vector, e.g:
x <- c(0.82324952352792, 0.11953364405781, 0.588659686036408, 0.41683742380701,
0.11452184105292, 0.438547774450853, 0.586471405345947, 0.943002870306373,
0.28184655145742, 0.722095313714817)
calcRank <- function(x){
sorted <- x[order(x)]
ranks <- sapply(x, function(x) which(sorted==x))
return(ranks)
}
calcRank(x)
> calcRank(x)
[1] 9 2 7 4 1 5 6 10 3 8
有没有更好的方法来做到这一点?
Is there a better way to do this?
推荐答案
为什么不只是:
rank(x) # ..... ?
# [1] 9 2 7 4 1 5 6 10 3 8
这篇关于计算向量中每个索引的排名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!