У меня есть фрейм данных, из которого я хочу выбрать важные столбцы, а затем отфильтровать строки, содержащие конкретное окончание.
Выражение регулярного выражения упрощает определение моего конечного значения с помощью символа xx$
. Но как изменить несколько возможных окончаний (xx$, yy$
)?
Пустой пример:
require(dplyr)
x <- c("aa", "aa", "aa", "bb", "cc", "cc", "cc")
y <- c(101, 102, 113, 201, 202, 344, 407)
type = rep("zz", 7)
df = data.frame(x, y, type)
# Select all expressions that starts end by "7"
df %>%
select(x, y) %>%
filter(grepl("7$", y))
# It seems working when I explicitly define my variables, but I need to use it as a vector instead of values?
df %>%
select(x, y) %>%
filter(grepl("[2|7]$", y)) # need to modify this using multiple endings
# How to modify this expression, to use vector of endings (ids) instead?
ids = c(7,2) # define vector of my values
df %>%
select(x, y) %>%
filter(grepl("ids$", y)) # how to change "grepl(ids, y)??"
Ожидаемый результат:
x y type
1 aa 102 zz
2 cc 202 zz
3 cc 407 zz
Пример, основанный на этом вопросе: Регулярные выражения (RegEx) и dplyr :: filter ()