官术网_书友最值得收藏!

  • Hands-On Data Science with R
  • Vitor Bianchi Lanzetta Nataraj Dasgupta Ricardo Anjoleto Farias
  • 246字
  • 2021-06-10 19:12:36

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.

主站蜘蛛池模板: 鄂温| 清涧县| 荥阳市| 阿鲁科尔沁旗| 大城县| 青岛市| 游戏| 安庆市| 沅陵县| 久治县| 南和县| 上栗县| 高安市| 泌阳县| 曲阜市| 平阴县| 和政县| 天峻县| 丹棱县| 庆元县| 甘孜| 德令哈市| 息烽县| 凭祥市| 合江县| 宜春市| 繁峙县| 内江市| 资溪县| 安多县| 龙川县| 静宁县| 青浦区| 会泽县| 来安县| 吐鲁番市| 邓州市| 泸水县| 建湖县| 驻马店市| 华池县|