向量中的 r 秩值

r rank value in vector

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

示例

 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)

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

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

有什么想法吗?

您可以使用名为 rank 的函数来获取向量的排名,例如使用以下

   rank(a)

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

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

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

创建一个带有附加值的新向量并对其进行排名怎么样?所以为 vectora 的每个元素创建一个循环:

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

然后检索 rankVector 的第一个值。

完整的循环看起来像:

for (i in seq_along(a) ){

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

}

干杯!