全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
10102 4
2011-12-26
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



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2011-12-26 18:57:08
对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.
后面类似!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-12-27 16:55:33
学习了,谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-6-7 10:54:36
解释的很到位!!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-3-19 20:28:25
order(a,b) 就是excel中的排序,按照多个关键字先后排序。 用excel 中的那个概念便于理解。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群