【R笔记】order函数例子
问题:
R中提供的例子不太懂,为什么得出的结果是6 5 2 1 7 4 10 8 3 9呢?
(ii <- order(x <- c(1,1,3:1,1:4,3), y <- c(9,9:1), z <-c(2,1:9)))##结果为 6 5 2 1 7 4 10 8 3 9
原始数据:x : 1 1 3 2 1 1 2 3 4 3、
y: 9 9 8 7 6 5 4 3 2 1
z: 2 1 2 3 4 5 6 7 8 9
回答:
对x进行排序,如果x中有tie(结),进而按照y进行排序,如果相应的y中也有结,继续按照z进行排序,依次类推。
比如x : 1 1 3 2 1 1 2 3 4 3
可以看到x[1]=1,x[2]=1,x[5]=1,x[6]=1,有四个1,这里1表示有结存在,那么看y的值
y: 9 9 8 7 6 5 4 3 2 1
而y[6]<y[5],所以排在第一的是x[6],又因为y[5]<y[1],y[5]<y[2]
所以排在第二的是x[5],而y[1]=y[2]=9,那么进而看z的值:
z: 2 1 2 3 4 5 6 7 8 9
可以看出z[2]<z[1],所以y[2]排在y[1]的前面,进而x[2]也排在x[1]的前面,
这就是x的前四个为什么是6 5 2 1.