r-基于其他变量过滤特定变量



我有一个问题要过滤我的变量位置(包含5个原子级:分析师,CEO,分析师II,Manger II,CEO II,CEO II级(。

这意味着我想删除分析师II级"," CEO II级" CEO"," Manger Level II"(如果年龄低于58岁(或保持其年龄高于58岁的年龄。(不应受年龄约束的影响。(例如:分析师,年龄= 50(

library(tidyverse)

Test<- tibble(Age=50:69,Position=rep(c("Analyst","Analyst Level II","Ceo level II", "Manager", "Manager level II"), times=4),Value=201:220) exam32 <-Test %>% filter(!Position==c("Analyst level II","Ceo level II","Manager level II"), Age>58) View(exam32)

希望您可以帮助

使用%in%匹配字符串,&指定应满足两个条件。

Test %>%
  filter(!(Position %in% c("Analyst level II",
                           "Ceo level II",
                           "Manager level II") & Age < 58)) 
# # A tibble: 17 x 3
#      Age Position         Value
#    <int> <chr>            <int>
#  1    50 Analyst            201
#  2    51 Analyst Level II   202
#  3    53 Manager            204
#  4    55 Analyst            206
#  5    56 Analyst Level II   207
#  6    58 Manager            209
#  7    59 Manager level II   210
#  8    60 Analyst            211
#  9    61 Analyst Level II   212
# 10    62 Ceo level II       213
# 11    63 Manager            214
# 12    64 Manager level II   215
# 13    65 Analyst            216
# 14    66 Analyst Level II   217
# 15    67 Ceo level II       218
# 16    68 Manager            219
# 17    69 Manager level II   220

最新更新