Filtering with filter

The filter verb can be used to extract a subset of rows matching the filter criteria, as shown:

# Filter states with < 1% Illiteracy (i.e., > 99% literacy) 
filter(tstate, Illiteracy < 1) # Equivalently -> filter(tstate, (100 - Illiteracy) > 99) 
 
# Filter states with < 1% Illiteracy and Income > the mean Income of all states 
# We will apply the AND condition using & 
 
filter(tstate, Illiteracy < 1 & Income > mean(Income)) 
 
# This is the same as using , (comma), multiple parameters are treated as AND 
 
identical(filter(tstate, Illiteracy < 1 & Income > mean(Income)),filter(tstate, Illiteracy < 1, Income > mean(Income))) 
# [1] TRUE 
 
# Filter states with Income > the mean Income of all states OR HS Graduation Rate > 60% 
# We will apply the OR condition using | 
 
filter(tstate, Income > mean(Income) | `HS Grad` > 60) 
 
# Filter for states in the West Region and the above condition (Income > the mean Income of all states OR HS Graduation Rate > 60%) 
 
filter(tstate, (Income > mean(Income) | `HS Grad` > 60) & Region=="West") 
 
# Other related verbs include filter_all, filter_if and filter_at 
# An example for each is given below 
 
# Print names of all numeric column 
filter_all(tstate, all_vars(class(.)=="numeric")) 
 
 
# Filter if ALL row values > 1 using all_vars 
select_if(tstate, is.numeric) %>% filter_all(all_vars(. > 1)) # When all vars > 1 
 
# Filter if ANY row values > 4000 using any_vars 
select_if(tstate, is.numeric) %>% filter_all(any_vars(. > 4000)) # When any vars > 4000  

There are various other ways that filter can be used and more details can be found at the online resources for the same.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.12.123.189