distinct takes a list of integer vectors and
returns the list indices that contain unique combinations
of elements. This function is NOT robust against misuse,
so please use properly.
Usage
distinct(x, N = max(unlist(x)))
Value
A vector with the distinct indices.
Arguments
x
A list of integers
N
The largest integer value across all elements of
x.
Author
Joshua French
Details
Assume that k is the largest integer value in
x. A vector of the largest k prime numbers
is obtained (call this pri). The algorithm takes
the sum of the log of pri[x[[i]]] for each element
of x, and determines which sums are unique. This
is why the elements of x must be integer vectors.
The prime aspect of the algorithm is critical, as it
ensures that a none of the values are multiples of the
others, ensuring uniqueness.
Note: this algorithm has only been applied to data sets
where each element of x[[i]] appears only once,
though it should work for repeats also.