intrsect¶
Purpose¶
Returns the intersection of two vectors, with duplicates removed.
Format¶
-
y =
intrsect
(v1, v2[, flag])¶ - Parameters:
v1 (Nx1 vector or string array) – data
v2 (Mx1 vector or string array) –
data
Note
v2 must be the same type as v1
flag (scalar) – Optional argument, if 1, v1 and v2 are numeric; if 0, character. Default is flag equal to 1 (numeric).
- Returns:
y (Lx1 vector) – all unique values that are in both v1 and v2 sorted in ascending order.
Examples¶
Basic usage, numeric¶
// Subject ID's from study 'a' id_a = { 3758, 3773, 2615, 2511 }; // Subject ID's from study 'b' id_b = { 3779, 3773, 2001, 3758, 1585, 2511 }; // Find the ID's that are in both groups id_common = intrsect(id_a, id_b);
After the code above, id_common is equal to:
2511 3758 3773
Basic usage, string array¶
/* ** Variable names from dataset 'a' ** Create string array with the string ** vertical concatenation operator ($|) */ names_a = "oil" $| "copper" $| "silver" $| "cocoa"; // Variable names from dataset 'b' names_b = "oil" $| "coffee" $| "cocoa" $| "tea"; // Find the variable names that are in both groups names_common = intrsect(names_a, names_b);
After the code above, names_common is equal to:
cocoa oil
Character vectors¶
A character vector is different from a string array. A character vector is up to eight characters inside of the element of a numeric matrix.
/* ** Variable names from dataset 'a' ** Create character vector array with the ** numeric vertical concatenation operator (|) */ names_a = "oil" | "copper" | "silver" | "cocoa"; // Variable names from dataset 'b' names_b = "oil" | "coffee" | "cocoa" | "tea"; // Set flag to tell 'intrsectsa' to treat input as character data flag = 0; // Find the variable names that are in both groups names_common = intrsect(names_a, names_b, flag); /* ** Notice the $ in front of 'names_common' ** tells GAUSS to print as character data */ print $names_common;
The code above, will print the following output:
cocoa oil
Remarks¶
If not matches are found,
intrsect()
will return a scalar error code that can be tested for withscalmiss()
.Place smaller vector first for fastest operation.
If there are a lot of duplicates within a vector, it is faster to remove them with the function
unique()
before callingintrsect()
.
Source¶
intrsect.src
See also
Functions
intrsectsa()