全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2701 3
2008-07-04

> x <- data.frame(a = c(1, 7, 6, 0), b = c('a', 'c', 'b', 'e'), d = c(5, 7, 9, 1))  
> x
  a b d
1 1 a 5
2 7 c 7
3 6 b 9
4 0 e 1
> rank(x$a)
[1] 2 4 3 1

???rank的结果为啥不是

[1] 4 1 3 2
 

按升序排列了

二维码

扫码加我 拉你入群

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

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

全部回复
2008-7-5 10:38:00
4 1 3 2 的排序根据是什么?

rank 返回的是数据的排序。按数从小到大排,1 是第二个,7 是第四个,6 是第三个,0是第一个,所以2 4 3 1
二维码

扫码加我 拉你入群

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

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

2008-7-5 13:23:00

get it ,thank you

sort是按数值大小对原始数值排序

order是按数值大小对行标签排序    (4 1 3 2 的排序根据)

rank是按数值大小在原位置排个序号    (就是你上面所说的)

> x <- data.frame(a = c(1, 7, 6, 0), b = c('a', 'c', 'b', 'e'), d = c(5, 7, 9, 1))  
> x
  a b d
1 1 a 5
2 7 c 7
3 6 b 9
4 0 e 1
> sort(x$a)
[1] 0 1 6 7
> order(x$a)
[1] 4 1 3 2
> rank(x$a)
[1] 2 4 3 1

[此贴子已经被作者于2008-7-5 13:32:04编辑过]

二维码

扫码加我 拉你入群

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

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

2008-11-18 10:14:00
我在这里也茫然,thank you
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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