not in is an operator in R for checking if a value is not contained in a vector. It is the opposite of the in operator, which checks if a value is contained in a vector. It is represented by %!in% syntax and is the Negation of the %in% operator.
The %in% operator is used to identify if an element belongs to a vector. The ! indicates logical negation (NOT). The `not in`operator is cognitively simpler than the more verbose! x %in% table.
The not-in operator is a logical vector, negating the %in% operators on the same arguments.
Please note that the NOT IN(%!in%) is not a built-in operator like the %in% operator, but we can define it using the Negate operator.
x %!in% table
The values to be matched.
The values do not match.
Example of not in operator in R
Let’s define two vectors called v1 and v2.
v1 <- 4 v2 <- 11
Now, we define the sequence of 1: 10.
s <- 1:10
Now, we will check the vector values against this sequence and include them in the sequence using in operator.
v1 <- 4 v2 <- 11 s <- 1:10 print(v1 %in% s) print(v2 %in% s)
 TRUE  FALSE
You can see that 4 is in the sequence, so the %in% operator returns TRUE. 11 is not in the sequence, so it returns FALSE.
Let’s use the %!in% operator, but the problem with this is that there is no inbuilt %!in% operator in R.
If you use the %!in% operator in R, you will face the following error.
could not find function “%!in%” in r
To fix this issue, we need to define the %!in% operator. Write the following code to define the Negate %in% operator.
`%!in%` <- Negate(`%in%`)
Now, you can use the %!in% operator.
v1 <- 4 v2 <- 11 t <- 1:10 `%!in%` <- Negate(`%in%`) print(v1 %!in% t) print(v2 %!in% t)
 FALSE  TRUE
You can see that v1 is included in 1: 10 but not in operator negates this. That is why it returns FALSE.
In the second example, 11 is not included, 1:10, which means negates condition returns TRUE, and it returns TRUE.
That is it.
Krunal Lathiya is a Software Engineer with over eight years of experience. He has developed a strong foundation in computer science principles and a passion for problem-solving. In addition, Krunal has excellent knowledge of Data Science and Machine Learning, and he is an expert in R Language.