sort()、rank() 和 order() 之间的区别
Difference between sort(), rank(), and order()
R 中的 sort()、rank() 和 order() 之间的区别是什么。
能举例说明吗?
sort()
按升序对向量进行排序。
rank()
给出向量中存在的数字的相应排名,最小的数字获得排名 1。
order()
returns 排序后的向量索引。
例如:如果我们将这些函数应用于向量 - 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] = 1、v[3] = 2、v[1] = 3、v[5] = 4 和 v[4] = 5
在R中也有tie处理方法。如果你 运行 rank(c (3, 1, 2, 5, 4, 2))
它会给 Rank 1 到 1,因为有两个 2 在场 R 会把他们排在 2 和 3 但给他们每个人分配 Rank 2.5,接下来的 3 将获得 Rank 4.0,所以
rank(c (3, 1, 2, 5, 4, 2))
会给你输出 [4.0 1.0 2.5 6.0 5.0 2.5]
希望对您有所帮助。
R 中的 sort()、rank() 和 order() 之间的区别是什么。
能举例说明吗?
sort()
按升序对向量进行排序。
rank()
给出向量中存在的数字的相应排名,最小的数字获得排名 1。
order()
returns 排序后的向量索引。
例如:如果我们将这些函数应用于向量 - 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] = 1、v[3] = 2、v[1] = 3、v[5] = 4 和 v[4] = 5
在R中也有tie处理方法。如果你 运行 rank(c (3, 1, 2, 5, 4, 2))
它会给 Rank 1 到 1,因为有两个 2 在场 R 会把他们排在 2 和 3 但给他们每个人分配 Rank 2.5,接下来的 3 将获得 Rank 4.0,所以
rank(c (3, 1, 2, 5, 4, 2))
会给你输出 [4.0 1.0 2.5 6.0 5.0 2.5]
希望对您有所帮助。