Skip to content

keypos returns the positions of the (fact table) elements that participate in their sorted unique subset (dimension table)

Usage

keypos(x, ...)

# S3 method for class 'integer64'
keypos(x, method = NULL, ...)

Arguments

x

a vector or a data frame or an array or NULL.

...

ignored

method

NULL for automatic method selection or a suitable low-level method, see details

Value

an integer vector of the same length as x containing positions relative to sort(unique(x), na.last=FALSE)

Details

NAs are sorted first in the dimension table, see ramorder.integer64().

This function automatically chooses from several low-level functions considering the size of x and the availability of a cache.

Suitable methods are

See also

unique.integer64() for the unique subset and match.integer64() for finding positions in a different vector.

Examples

x <- as.integer64(sample(c(rep(NA, 9), 1:9), 32, TRUE))
keypos(x)
#>  [1] 3 5 1 1 1 2 6 1 1 3 1 1 1 3 1 1 1 6 1 1 1 6 5 5 1 1 1 1 4 1 3 2

stopifnot(identical(keypos(x),  match.integer64(x, sort(unique(x), na.last=FALSE))))