本章介绍ranks()函数的多种用法。
描述:
获取序列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],先对有重复成员的排名做均值运算,再返回排名 |
相关概念:
描述:
计算序列成员排名
语法:
A.ranks()
备注:
求序列A每个成员在序列中的排名,缺省从小到大排,返回成员排名组成的序列。
参数:
A |
序列 |
选项:
@z |
从大到小排名。注意:这里是小写的字母"z" |
@i |
先去掉A中的重复成员,然后计算其排名 |
@s |
先对有重复成员的排名做均值计算,然后返回计算后的排名,可能不是整数。例如:[3,2,6,6,9],常用的排名结果为[2,1,3,3,5],使用@s选项时,采用平均排名就会变为[2.0,1.0,(3+4)/2,(3+4)/2,5.0] |
返回值:
序列A的成员排名组成的数列
示例:
|
A |
|
1 |
=[2,1,3,4,8,5,2,0] |
|
2 |
=A1.ranks() |
[3,2,5,6,8,7,3,1],从小到大的排名 |
3 |
=A1.ranks@z() |
[5,7,4,3,1,2,5,8],从大到小的排名 |
4 |
=A1.ranks@i() |
[3,2,4,5,7,6,3,1],先去掉重复成员,然后计算排名 |
5 |
=A1.ranks@s() |
[3.5,2.0,5.0,6.0,8.0,7.0,3.5,1.0],先对有重复成员的排名做均值运算,再返回排名 |
相关概念: