groups
Syntax
groups(X, [mode='dict'])
Arguments
X is a vector.
-
"dict" (default): return a dictionary. The key of the dictionary stores the unique value in X; the value is a vector that stores the indices of all elements that hold the value.
-
"table": return a table with 2 columns, "key" and "index", storing the unique value in X and the corresponding indices.
-
"vector": return an array vector. The elements are the indices of each unique value in X, sorted in ascending order.
-
"tuple": return a tuple. The elements are stored the same as mode="vector".
Details
For each unique value in X, return the indices of all elements that hold the value.
- If mode = "dict", return a dictionary.
- If mode = "table", return a table with 2 columns, key and index. Each cell in the column index is an array vector.
Examples
x=NULL NULL 12 15 12 16 15 14 NULL NULL
groups(x);
// output
16->[5]
->[0,1,8,9]
12->[2,4]
14->[7]
15->[3,6]
groups(x, "vector")
// output
[[0,1,8,9],[2,4],[7],[3,6],[5]]
groups(x, "tuple")
// output
([0,1,8,9],[2,4],[7],[3,6],[5])
groups(x, "table")
key | index |
---|---|
[0,1,8] | |
2 | [2,4] |
4 | [7] |
5 | [3,6] |
6 | [5] |