Select Data Frame Rows where Column Values are in Range in R (2 Examples)
In this article you’ll learn how to extract certain data frame rows within a range of values in the R programming language.
Table of contents:
So now the part you have been waiting for – the examples…
Creation of Example Data
The following data will be used as basement for this R programming tutorial:
data <- data.frame(x1 = c(5, 9, 1, 4, 3, 9), # Creating example data x2 = letters[7:2], x3 = 33) data # Printing example data # x1 x2 x3 # 1 5 g 33 # 2 9 f 33 # 3 1 e 33 # 4 4 d 33 # 5 3 c 33 # 6 9 b 33
Have a look at the previous output of the RStudio console. It shows that our example data has six rows and three columns.
Example 1: Return Rows with Column Values in Certain Range Using Square Brackets
Example 1 explains how to subset rows from our data frame where the values of the variable x1 are ranging between 3 and 5. For this, we first have to identify the rows that are in this range:
identify_rows <- data$x1 >= 3 & data$x1 <= 5 # Identify rows in range identify_rows # Printing logical indicator # TRUE FALSE FALSE TRUE TRUE FALSE
The previous R code created a logical vector where TRUE indicates that the values of the column x1 are between 3 and 5 and FALSE indicates that x1 is outside of the range.
Now, we can use this vector to subset our data conditionally:
data_range1 <- data[identify_rows, ] # Subsetting data frame data_range1 # Printing new data frame # x1 x2 x3 # 1 5 g 33 # 4 4 d 33 # 5 3 c 33
Our data frame subset consists of three rows. All values of the variable x1 are within our previously defined range.
Example 2: Return Rows with Column Values in Certain Range Using subset() Function
Alternatively to the R syntax shown in Example 1, we can also use the subset function to extract data frame rows in a certain range. Have a look at the following R code:
data_range2 <- subset(data, identify_rows) # Applying subset function data_range2 # Printing new data frame # x1 x2 x3 # 1 5 g 33 # 4 4 d 33 # 5 3 c 33
The resulting data table is exactly the same as in Example 1.
Video, Further Resources & Summary
I have recently published a video on my YouTube channel, which explains the content of this article. You can find the video below:
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.
In addition to the video, you might have a look at some of the related tutorials which I have published on my website. You can find a selection of articles about topics such as data inspection, vectors, and character strings here:
- Find Rows in First Data Frame that are not in Second
- Select Data Frame Column Using Character Vector
- Select Data Frame Rows based on Values in Vector
- Introduction to R Programming
In summary: In this tutorial, I explained how to return only rows in a specific value range in the R programming language. Don’t hesitate to let me know in the comments section, if you have any additional questions.
Statistics Globe Newsletter