我有一个问题,我想过滤我的可变位置(包含5个原子级别:分析师,首席执行官,分析师二级,Manger II,CEO二级)。
这意味着,如果分析师的年龄低于58岁,我想删除他们的II级分析师,"Ceo二级“,或者当他们的年龄超过58岁时保持他们的水平。其他原子级别(分析师,首席执行官)不应该受到年龄限制的影响。(例如:分析师,age=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)
希望你能帮上忙
发布于 2018-02-12 17:39:43
使用%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 220https://stackoverflow.com/questions/48751844
复制相似问题