在这个问题上,我不知道X或Y向量如何相互关联。答案是一个向量,这一事实使我最困惑。
我尝试执行负排名(即rank(-s)),然后尝试
rev(rank(X))和rev(rank(Y)),但我得到的排名回报不正确。这是我的代码:
x <- c(-1, 0, 1, 2, -3) #vector x
y <- c(1, 3, 2, 5, 8) # Vector y
S <- x[order(match(x,y))] #orders and matches x with y
R <- rank(-S) #ranks S in element number order
print(R) #I want R = (5 2 1 3 4)
相反,我得到[2 1 4 3 5]
以及其他代码:
never <- rev(rank(-x)) #takes the reverse rank of x
bird <- rev(rank(y)) #takes the reverse rank of y
kid <- x[order(match(never, bird))] #orders the match of the reverse ranks
tr <- rank(kid) #ranks the match of the reverse ranks
print(tr)
我得到[2 1 3 4 5]
。
答案 0 :(得分:0)
据我所知,这个问题(尚不清楚,我同意),似乎有一个错误,但是 $ x $ 和 $ y $ 通过 $ s_i $ 索引链接。
下面的问题:感谢 $ y $ ,让我们找到 $ s_1 $ 索引。我们知道 $ y_ {s_1} $ 是 $ y $ 的最大值,因此 $ y_5 $ 在这种情况下。因此, $ s_1 = 5 $ ,因此我们需要找到 $ x_5 = -3 $ 。因为这是最低值,所以我们有 $ r_1 = 5 $ 。
现在使用这种方法,我们将有 $ s_2 = 4 $ ,所以我的猜测是示例或问题中存在错误。
在此示例中,我碰巧有 $ R =(5,1,3,2,4)$ 。
您会注意到,如果对 $ y $ 进行排序,则将排序规则应用于 $ x $ 创建 $ x'$ , $ R $ 向量是 $ x'$ 。
答案 1 :(得分:0)
我知道了。
x <- c(-1,0,1,2,-3)
y <- c(1,3,2,5,8)
myrank <- function(x,y)
{
R=c()
{
for(i in 1:length(x))
{
b=length(y)+1-rank(y)
a=length(y)+1-rank(x[b]) # here x[b] is to order the x values according to b
R=c(a)
}
}
print(R)
}
myrank(x,y)