我有一个问题,我想过滤我的变量Position(包含5个原子级别:Analyst,CEO,Analyst level II,Manger II,Ceo Level II)的年龄。
这意味着我想删除Analyst level II",#34; Ceo level II"," 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)
希望你能帮忙
答案 0 :(得分:1)
使用%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