Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære 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

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 7

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Awesome!

Completion rate improved to 4

bookFiltering Data - Advanced Conditions

Sveip for å vise menyen

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

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 7
some-alt