Find Elements in String Vector that Contain Certain Character in R (2 Examples)
In this post you’ll learn how to check whether a character is contained in a vector of character strings in the R programming language.
The page looks as follows:
Let’s do this:
Introduction of Example Data
We’ll use the following data as basement for this R programming tutorial:
x <- c("abc", "ABC", "xxx", "aaa", "yyy") # Create character vector x # Print character vector # [1] "abc" "ABC" "xxx" "aaa" "yyy"
Have a look at the previously shown output of the RStudio console. It visualizes that our example data is a vector of character strings containing five vector elements.
Example 1: Extract Elements in String Vector that Contain Certain Character Using grep() Function
In this example, I’ll explain how to return all character string elements in a vector object that contain a particular character.
More precisely, we’ll use the grep function to search for the character “a”.
Within the grep function, we set the value argument to be equal to TRUE to return the actual character strings instead of their index positions.
Let’s do this in R!
x_subset1 <- grep("a", x, value = TRUE) # Extract elements with match x_subset1 # Print vector subset # [1] "abc" "aaa"
As you can see, the vector elements “abc” and “aaa” have been returned, since both contain the character “a”. Note that the vector element “ABC” was not returned, since the grep function is case-sensitive.
Example 2: Extract Elements in String Vector that Contain Certain Character Using str_detect() Function of stringr Package
In Example 1, we have used the basic installation of the R programming language to match a character and the elements of a character string vector.
Example 2 shows how to use the functions of the stringr package for this task. In order to use the functions of the stringr package, we first have to install and load stringr:
install.packages("stringr") # Install stringr package library("stringr") # Load stringr
Now, we can apply the str_detect function of the stringr package as shown below:
x_subset2 <- x[str_detect(x, "a")] # Extract elements with match x_subset2 # Print vector subset # [1] "abc" "aaa"
The same output as in Example 1 has been returned after executing the previous R code.
Video, Further Resources & Summary
In case you need further information on the R code of this article, I can recommend having a look at the following video on my YouTube channel. In the video, I’m explaining the R code of this article:
Please accept YouTube cookies to play this video. By accepting you will be accessing content from YouTube, a service provided by an external third party.
If you accept this notice, your choice will be saved and the page will refresh.
Furthermore, you might have a look at the related R articles on this website. Some tutorials are listed below.
- Find Position of Character in String in R
- Count Number of Occurrences of Certain Character in String
- Get Frequency of Elements with Certain Value in Vector (2 R Examples)
- Extract Numbers from Character String Vector
- Find & Count Exact Matches in Character String Vector
- R Programming Language
In this R tutorial you have learned how to test if a character is contained in an array of character strings. Let me know in the comments, if you have further questions.
Statistics Globe Newsletter