r向量中的秩值

时间:2015-02-24 15:42:21

标签: r vector ranking rank

我有一系列数字和向量,应该根据它们的等级来评估每个数字序列。

示例

 a <- c(20, 29, 22)
 b <- c(21, 22, 27)
 data <- data.frame(cbind(a,b))
 c1 <- c(12,23,34,21,33,22,35,3,5,6,7,29,49)
 c2 <- c(12,23,34,21,33,22,35,3,5,6,7,29,49)

如何检查向量data$a中每个c1值的排名以及data$b中的每个c2值?有任何想法吗? (我抽象了问题,但每个人(ab,......)总共有28个值,我需要根据c的28个值进行排名( c1c2,...,c28))。

对于a = 20的第一个值,由于6的元素,因此需要c1; 123567都较小。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

您可以使用名为rank的函数获取矢量的等级,例如使用以下

   rank(a)

如果你想根据另一个向量对矢量进行排名,你可以简单地使用以下

C1[sort(order(C1)[C2])]

你需要澄清你的问题(可能添加一个例子)

答案 1 :(得分:0)

如何创建一个附加值的新向量并对其进行排名?因此,为向量a的每个元素创建一个循环:

rankVector=rank(append(c(a),c1))

然后检索rankVector的第一个值。

完整循环看起来像:

for (i in seq_along(a) ){

   rankVector[i]=rank(append(c(a[i]),c1))

}

干杯!