我有一系列数字和向量,应该根据它们的等级来评估每个数字序列。
示例
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
值?有任何想法吗? (我抽象了问题,但每个人(a
,b
,......)总共有28个值,我需要根据c
的28个值进行排名( c1
,c2
,...,c28
))。
对于a = 20
的第一个值,由于6
的元素,因此需要c1
; 12
,3
,5
,6
和7
都较小。
有什么想法吗?
答案 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))
}
干杯!