您的位置:首页 > 其它

【R笔记】order函数例子

2016-03-23 10:58 183 查看
问题:
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.

原文:http://bbs.pinggu.org/thread-1302883-1-1.html

来自为知笔记(Wiz)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: