Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Filtering Data - Advanced Conditions | Data Manipulation and Cleaning
Data Analysis with R

bookFiltering Data - Advanced Conditions

In the previous chapter, we learned how to filter data using simple comparisons and logical operators. In this chapter, we’ll build on that by using the %in% operator to match multiple values at once, and learn how to exclude specific rows from a dataset. These techniques are especially useful when dealing with categories that have many possible values.

Filtering with %in%

  • The %in% operator checks if elements of one vector are present in another;

  • It is helpful when you want to match against multiple possible values;

  • This makes filtering cleaner and more readable than chaining multiple == or != conditions.

Example: select cars where fuel type is Diesel or Petrol using base R

selected_fuel_cars <- df[df$fuel %in% c("Diesel", "Petrol"), ]
head(selected_fuel_cars)
count(selected_fuel_cars)

Excluding specific values

Example: exclude cars where fuel is Diesel

Use != to filter out rows that match a certain value.

non_diesel_cars <- df[df$fuel != "Diesel", ]
head(non_diesel_cars)

Example: exclude cars where fuel is Diesel or Petrol

  • Use %in% along with the logical NOT operator ! for cleaner exclusion;

  • This is easier to manage than writing multiple != conditions.

non_diesel_petrol_cars <- df[!df$fuel %in% c("Diesel", "Petrol"), ]
head(non_diesel_petrol_cars)
count(non_diesel_petrol_cars)

You can also use the longer approach with & and multiple != checks, but it becomes harder to manage when dealing with more than two values.

non_diesel_petrol_cars <- df[df$fuel != "Diesel" & df$fuel != "Petrol", ]
question mark

How do you exclude "Diesel" cars in base R?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 7

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Awesome!

Completion rate improved to 4

bookFiltering Data - Advanced Conditions

Glissez pour afficher le menu

In the previous chapter, we learned how to filter data using simple comparisons and logical operators. In this chapter, we’ll build on that by using the %in% operator to match multiple values at once, and learn how to exclude specific rows from a dataset. These techniques are especially useful when dealing with categories that have many possible values.

Filtering with %in%

  • The %in% operator checks if elements of one vector are present in another;

  • It is helpful when you want to match against multiple possible values;

  • This makes filtering cleaner and more readable than chaining multiple == or != conditions.

Example: select cars where fuel type is Diesel or Petrol using base R

selected_fuel_cars <- df[df$fuel %in% c("Diesel", "Petrol"), ]
head(selected_fuel_cars)
count(selected_fuel_cars)

Excluding specific values

Example: exclude cars where fuel is Diesel

Use != to filter out rows that match a certain value.

non_diesel_cars <- df[df$fuel != "Diesel", ]
head(non_diesel_cars)

Example: exclude cars where fuel is Diesel or Petrol

  • Use %in% along with the logical NOT operator ! for cleaner exclusion;

  • This is easier to manage than writing multiple != conditions.

non_diesel_petrol_cars <- df[!df$fuel %in% c("Diesel", "Petrol"), ]
head(non_diesel_petrol_cars)
count(non_diesel_petrol_cars)

You can also use the longer approach with & and multiple != checks, but it becomes harder to manage when dealing with more than two values.

non_diesel_petrol_cars <- df[df$fuel != "Diesel" & df$fuel != "Petrol", ]
question mark

How do you exclude "Diesel" cars in base R?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 7
some-alt