pf_rank Interface

public interface pf_rank

The rank of every element of values, without reordering it. ranks(i) is the rank of values(i), so this is a per-element answer rather than a permutation.

method= chooses how ties are handled, matched case-insensitively:

token ranks of 10, 20, 20, 30
"competition" (the default) 1, 2, 2, 4
"dense" 1, 2, 2, 3
"ordinal" 1, 2, 3, 4

A null gets rank 0, which is why this takes descending but NOT nulls_first: a null has no rank at all, so there is no position for nulls_first to choose. NaNs are ranked as ordinary values (all tying with each other), unlike nulls.

"ordinal" ranks are exactly the inverse of pf_argsort's permutation.


Module Procedures

private interface rank_i32_i32()

Arguments

None

private interface rank_i32_i64()

Arguments

None

private interface rank_i64_i32()

Arguments

None

private interface rank_i64_i64()

Arguments

None

private interface rank_f32_i32()

Arguments

None

private interface rank_f32_i64()

Arguments

None

private interface rank_f64_i32()

Arguments

None

private interface rank_f64_i64()

Arguments

None

private interface rank_bool_i32()

Arguments

None

private interface rank_bool_i64()

Arguments

None

private interface rank_chr_i32()

Arguments

None

private interface rank_chr_i64()

Arguments

None

private interface rank_date_i32()

Arguments

None

private interface rank_date_i64()

Arguments

None

private interface rank_time_i32()

Arguments

None

private interface rank_time_i64()

Arguments

None

private interface rank_ts_i32()

Arguments

None

private interface rank_ts_i64()

Arguments

None

private interface rank_strcol_i32()

Arguments

None

private interface rank_strcol_i64()

Arguments

None

private interface rank_col_i32()

Arguments

None

private interface rank_col_i64()

Arguments

None