A.rank( y,x )

阅读(472) 标签: 计算后, 排名,

描述:

计算指定值在序列成员中的排名。

语法:

A.rank(y,x)

备注:

对着序列A逐条记录计算表达式x的值,返回y在序列A.(x)中的排名。默认为升序排名。

选项:

@z

降序排名。

@i

去掉重复成员后再计算排名。

@s

有重复成员时先对其排名做均值计算,再计算排名,返回值存在非整数的情况。

参数:

A

序列。

x

A的计算表达式,A为排列/序表时不可省略。

y

参与排名的值。

返回值:

数值

示例:

A为序列:

 

A

 

1

=[2,1,3,4,8,5,2,0]

 

2

=A1.rank(6)

返回8计算6在序列A1中的升序排名。

3

=A1.rank@z(6)

返回2计算6在序列A1中的降序排名。

4

=A1.rank@i(6)

返回7先去掉重复成员,然后再计算6在序列A1中的升序排名。

5

=A1.rank@s(2)

返回3.5使用@s选项,先对重复成员的排名做均值运算,再计算排名,即:序列A1的成员值2的排名分别为34,均值运算结果为(3+4)/2=3.5,所以2在序列中的排名为3.5

6

=A1.rank(6,~+3)

返回5先对序列计算表达式后,再计算6在其中排名。

A为序表/排列:

 

A

 

1

=demo.query("select * from SCORES where SUBJECT='English'").sort(SCORE:-1)

 

2

=A1.rank@z(90,SCORE)

计算90在序列A1SCORE中的降序排名,结果返回5

3

=A1.rank@iz(90,SCORE)

去除序列A1中的重复SCORE值后,计算90在其中的降序排名,结果返回3

4

=A1.rank@sz(90,SCORE)

先对SCORE的重复值做均值运算,然后再计算排名,结果返回5.5