R中sort(),rank()和order()之间的区别

Ami*_*pta 0 sorting r ranking difference

R中的sort(),rank()和order()之间有什么区别?你能举例说明吗?

Ami*_*pta 8

sort() 将向量按升序排序。

rank() 给出向量中存在的数字的相应等级,最小的数字获得等级1。

order() 以排序的顺序返回向量的索引。

例如:如果我们将这些函数应用于向量-c(3,1,2,5,5)

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] = 1,v [3] = 2,v [1] = 3,v [5] = 4和v [4] = 5

R中也有领带处理方法。如果运行,它将给出1至1的等级,因为当前有两个2,R会将它们分别排在2和3上,但是将它们分别分配给等级2.5,那么接下来的3将获得等级4.0,因此rank(c (3, 1, 2, 5, 4, 2))

rank(c (3, 1, 2, 5, 4, 2))会给你输出[4.0 1.0 2.5 6.0 5.0 2.5]

希望这会有所帮助。

  • 还值得一提的是`rank` 如何处理关系。检查例如`rank(c(3, 1, 2, 5, 4, 2))` (2认同)