distinct | R Documentation |
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.
distinct(x, N = max(unlist(x)))
x |
A list of integers |
N |
The largest integer value across all elements of
|
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.
A vector with the distinct indices.
Joshua French
Algorithm based on suggestion at https://stackoverflow.com/a/29824978.
x <- list(1:3, 3:1, 1:4, 4:1, c(1, 2, 4, 6), c(6, 4, 1, 2))
x[distinct(x)]
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.