Я хочу отфильтровать dataframe, используя поле, которое определено в переменной, чтобы выбрать значение, которое также находится в переменной. Скажем, у меня
df <- data.frame(V=c(6, 1, 5, 3, 2), Unhappy=c("N", "Y", "Y", "Y", "N"))
fld <- "Unhappy"
sval <- "Y"
Значение, которое я хочу, будет df[df$Unhappy == "Y", ]
.
Я прочитал виньетку nse
, чтобы попробовать использовать filter_
, но не могу ее полностью понять. Я попробовал
df %>% filter_(.dots = ~ fld == sval)
который ничего не возвращал. Я получил то, что хотел с помощью
df %>% filter_(.dots = ~ Unhappy == sval)
но очевидно, что он побеждает цель иметь переменную для хранения имени поля. Любые подсказки, пожалуйста? В конце концов я хочу использовать это, где fld
- вектор имен полей, а sval
- вектор значений фильтра для каждого поля в fld
.