在R中sort(),rank()和order()有什么区别?
你能用例子来解释吗?
sort()
按升序对向量进行排序。
rank()
给出向量中存在的数字的相应秩,最小数字接收秩 1。
order()
按排序顺序返回向量的索引。
例如:如果我们应用这些函数将应用于向量 - c (3, 1, 2, 5, 4)
sort(c (3, 1, 2, 5, 4))
将给出 c(1,2,3,4,5)
rank(c (3, 1, 2, 5, 4))
将给出 c(3,1,2,5,4)
order(c (3, 1, 2, 5, 4))
将给出 c(2,3,1,5,4)。如果按此顺序放置这些索引,将得到排序的向量。注意 v[2
R中还有一个领带处理方法。如果你运行rank(c (3, 1, 2, 5, 4, 2))
它会给出排名 1 到 1,因为有两个 2 存在 R 将按 2 和 3 对它们进行排名,但将排名 2.5 分配给它们中的每一个,接下来的 3 将获得排名 4.0,所以
rank(c (3, 1, 2, 5, 4, 2))
会给你输出 [4.0 1.0 2.5 6.0 5.0 2.5]
希望这是有帮助的。