描述:
获取序列A.(x)的排名
语法:
A.ranks(x) |
相当于A. (x).ranks() |
备注:
对着序列A逐条记录计算表达式x的值,返回序列A.(x)的排名。缺省排名顺序从小到大。
选项:
@z |
从大到小排名(缺省从小到大排)。注意:这里是小写的字母“z” |
@i |
先去掉A.(x)中的重复成员,然后计算其排名 |
@s |
先对有重复成员的排名做均值计算,然后返回计算后的排名,可能不是整数。例如:[3,2,6,6,9],常用的排名结果为[2,1,3,3,5],使用@s选项时,采用平均排名就会变为[2.0,1.0,(3+4)/2,(3+4)/2,5.0] |
参数:
x |
A的计算表达式 |
A |
序列 |
返回值:
A.(x)的成员排名
示例:
|
A |
|
1 |
=demo.query("select * from SCORES where SUBJECT='English'") |
|
2 |
=A1.ranks(SCORE) |
[7,9,13,1,17,5,13,19,3,25,11,21,23,25,7,9,13,1,17,5,13,19,3,25,11,21,23,25] 从小到大排 |
3 |
=A1.ranks@z(SCORE) |
[21,19,13,27,11,23,13,9,25,1,17,7,5,1,21,19,13,27,11,23,13,9,25,1,17,7,5,1] 从大到小排 |
4 |
=A1.ranks@i(SCORE) |
[4,5,7,1,8,3,7,9,2,12,6,10,11,12,4,5,7,1,8,3,7,9,2,12,6,10,11,12] 去除了重复成员后的排名 |
5 |
=A1.(SCORE).ranks() |
同A2 |
6 |
=A1.ranks@s(SCORE) |
[21.0,10.0,20.0,2.0,6.0,22.0,26.0,8.0,14.0,9.0,12.0,5.0,15.0,19.0,4.0,11.0,13.0,1.0,28.0,24.0,25.0,16.0,17.0,23.0,27.0,7.0,18.0,3.0],先对有重复成员的排名做均值运算,再返回排名 |
相关概念: