How can I remove rows from a data frame based on a certain condition using the R programming language?

How can I remove rows from a data frame based on a certain condition using the R programming language?

The process of removing rows from a data frame based on a certain condition using the R programming language involves using the built-in functions and operators available in R to filter out the rows that do not meet the specified condition. This can be achieved by using logical operators, such as “==” or “!=” to compare values in a specific column or by using the “subset” function to create a subset of the data frame with only the desired rows. This technique allows for efficient and precise data manipulation, making it a useful tool for data analysis and management.

R: Remove Rows from Data Frame Based on Condition


You can use the subset() function to remove rows with certain values in a data frame in R:

#only keep rows where col1 value is less than 10 and col2 value is less than 8
new_df <- subset(df, col1<10 & col2<8) 

The following examples show how to use this syntax in practice with the following data frame:

#create data frame
df <- data.frame(a=c(1, 3, 4, 6, 8, 9),
                 b=c(7, 8, 8, 7, 13, 16),
                 c=c(11, 13, 13, 18, 19, 22),
                 d=c(12, 16, 18, 22, 29, 38))

#view data frame
df

  a  b  c  d
1 1  7 11 12
2 3  8 13 16
3 4  8 13 18
4 6  7 18 22
5 8 13 19 29
6 9 16 22 38

Example 1: Remove Rows Equal to Some Value

The following code shows how to remove all rows where the value in column ‘c’ is equal to 13:

#remove rows where column 'c' is equal to 13
new_df <- subset(df, c != 13) 

#view updated data frame
new_df

  a  b  c  d
1 1  7 11 12
4 6  7 18 22
5 8 13 19 29
6 9 16 22 38

Example 2: Remove Rows Equal to One of Several Values

The following code shows how to remove all rows where the value in column ‘b’ is equal to 7 or 8:

#remove rows where value in column b is equal to 7 or 8
new_df <- subset(df, !(b %in% c(7, 8)))

#view updated data frame
new_df

  a  b  c  d
5 8 13 19 29
6 9 16 22 38

Example 3: Remove Rows Based on Multiple Conditions

The following code shows how to remove all rows where the value in column ‘b’ is equal to 7 or where the value in column ‘d’ is equal to 38:

#remove rows where value in column b is 7 or value in column d is 38
new_df <- subset(df, b != 7 & d != 38)

#view updated data frame
new_df

  a  b  c  d
2 3  8 13 16
3 4  8 13 18
5 8 13 19 29

Cite this article

stats writer (2024). How can I remove rows from a data frame based on a certain condition using the R programming language?. PSYCHOLOGICAL SCALES. Retrieved from https://scales.arabpsychology.com/stats/how-can-i-remove-rows-from-a-data-frame-based-on-a-certain-condition-using-the-r-programming-language/

stats writer. "How can I remove rows from a data frame based on a certain condition using the R programming language?." PSYCHOLOGICAL SCALES, 2 May. 2024, https://scales.arabpsychology.com/stats/how-can-i-remove-rows-from-a-data-frame-based-on-a-certain-condition-using-the-r-programming-language/.

stats writer. "How can I remove rows from a data frame based on a certain condition using the R programming language?." PSYCHOLOGICAL SCALES, 2024. https://scales.arabpsychology.com/stats/how-can-i-remove-rows-from-a-data-frame-based-on-a-certain-condition-using-the-r-programming-language/.

stats writer (2024) 'How can I remove rows from a data frame based on a certain condition using the R programming language?', PSYCHOLOGICAL SCALES. Available at: https://scales.arabpsychology.com/stats/how-can-i-remove-rows-from-a-data-frame-based-on-a-certain-condition-using-the-r-programming-language/.

[1] stats writer, "How can I remove rows from a data frame based on a certain condition using the R programming language?," PSYCHOLOGICAL SCALES, vol. X, no. Y, ص Z-Z, May, 2024.

stats writer. How can I remove rows from a data frame based on a certain condition using the R programming language?. PSYCHOLOGICAL SCALES. 2024;vol(issue):pages.

Download Post (.PDF)
Slide Up
x
PDF
Scroll to Top