ranks()

Read(268) Label: ranks,

Here’s how to use ranks() function.

A .ranks( x )

Description:

Get the rankings of members of sequence A.(x).

Syntax:

A.ranks(x)

Equivalent to A. (x).ranks()

Note:

The function computes expression x over each member of sequence A to return the rankings of members of sequence A.(x), which by default is sorted in ascending order.

Options:

@z

Return a ranking according to members sorted in descending order (in ascending order by default). Here “z” is in lowercase.

@i

Deduplicate sequence A.(x) before getting the rankings.

@s

Perform average operation for each of the duplicate ranking and return the result, which could contain non-integers. Take the sequence [3,2,6,6,9] for example, a default ranking is [2,1,3,3,5]; but with @s option, the ranking becomes [2.0,1.0,(3+4)/2,(3+4)/2,5.0] after we get averages for the two duplicates.

Parameters:

x

An expression according to which sequence A is computed

A

A sequence

Return value:

The rankings of members of sequence A.(x).

Example:

 

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];Rank members in ascending order

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];Rank members in descending order

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]; rankings with duplicates removed

5

=A1.(SCORE).ranks()

Same requirement as that in 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]; get averages for duplicate rankings and then return the final result

Related functions:

A.ranks()

A .ranks()

Description:

Compute the ranking of each member in a sequence.

Syntax:

A.ranks()

Note:

The function obtains the ranking of each member in sequence A and returns a sequence composed of rankings of the members, which by default are sorted in ascending order.

Parameters

A

A sequence

Options:

@z

Return a ranking according to members sorted in descending order. Here “z” is in lowercase.

@i

Deduplicate sequence A before getting the rankings.

@s

Perform average operation for each of the duplicate ranking and return the result, which could contain non-integers. Take the sequence [3,2,6,6,9] for example, a default ranking is [2,1,3,3,5]; but with @s option, the ranking becomes [2.0,1.0,(3+4)/2,(3+4)/2,5.0] after we get averages for the two duplicates.

Return value:

  An integer sequence composed of rankings of sequence A’s members

Example:

 

A

 

1

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

 

2

=A1.ranks()

[3,2,5,6,8,7,3,1]; rank members in ascending order

3

=A1.ranks@z()

[5,7,4,3,1,2,5,8]; rank members in descending order

4

=A1.ranks@i()

[3,2,4,5,7,6,3,1]; rankings with duplicates removed

5

=A1.ranks@s()

[3.5,2.0,5.0,6.0,8.0,7.0,3.5,1.0] ; get averages for duplicate rankings and then return the final result

Related functions:

A.ranks(x)