【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.
 
 





posted @ 2016-03-23 10:58  萱草yy  阅读(1162)  评论(0编辑  收藏  举报