Today we’re going to discuss how to compare two R vectors for the elements (values) which they have in common. We have two options here:
- The R match () function – returns the indices of common elements
- the %in% operator – returns a vector of True / False results which indicates if a value in the first vector was present in the second.
R Match – Finding Values in Vectors
Let us get started with the R match () function.
# r match example > codes = c(10,11,22,12,12,13,34) # r match example - returns first position of matching value > match(22, codes)  3 # r match example - returns first position of repeat values > match(12, codes)  4 # r match example - with multiple values > match (c(22,12), codes)  3 4
In this example, we searched a vector of numbers for a specific value (22) using the r match function. It returned a vector indicating the value was found in the second position. When we repeated the search, using r match to spot a second value (12), it returns only the first example.
If we feed the R match function a vector of multiple values, it returns the first position of each of the two values.
%in% Operator – Boolean Equivalent
Just need a True / False result?
Consider using the %in% operator. It performs a similar operation and returns the result as a Boolean indicator showing if the value is present.
# R %in% operator example # check for single value using %in% operator > 36 %in% codes  FALSE # check for vector of multiple values using %in% operator > c(22, 12) %in% codes  TRUE TRUE # how the %in% operator handles values it doesn't find > c(22, 12, 43) %in% codes  TRUE TRUE FALSE
Summary – R Match and %in% operator
These two tools give us the ability to compare the values of two vectors.