Home > Enterprise >  Check if vector contains at least one element from another vector in R
Check if vector contains at least one element from another vector in R

Time:10-12

Say we have these two vectors:

vowels <- c("a", "e", "i", "o", "u", "y")
word <- c("c", "a", "t")

Is there a simple way to check if word contains at least one element from vowels and return either TRUE or FALSE?

CodePudding user response:

In base R, you can try:

any(word %in% vowels)
# TRUE

Which first creates a vector of boolean values (TRUE or FALSE):

word %in% vowels
# [1] FALSE  TRUE FALSE

and then evaluates that vector to see if any of them are true (via any)

That is by far the easiest, but for other applications you could also use grepl which returns a vector of TRUE or FALSE

grepl(paste(vowels, collapse = "|"), word)
# [1] FALSE  TRUE FALSE

# Thus
any(grepl(paste(vowels, collapse = "|"), word))
# [1] TRUE
  •  Tags:  
  • r
  • Related