Я хочу отфильтровать фрейм данных в соответствии с конкретными условиями в нескольких столбцах.
Я использую следующий пример, чтобы сделать мое утверждение более ясным.
У меня есть фрейм данных:
dat <- data.frame(A = c(122, 122, 122), B = c(0.1, 0.1, 0.1),
C = c(5, 5, 4), D = c(6, 7, 6))
Я хочу выбрать строки, которые содержат оба максимальных значенияв столбцах C и D мой код R:
select <- dat %>%
group_by(A, B) %>%
filter(C == max(C) , D == max(D))
, и я хочу, чтобы я хотел:
> select
# A tibble: 1 x 4
# Groups: A, B [1]
A B C D
<dbl> <dbl> <dbl> <dbl>
1 122 0.1 5 7
Однако я хочу использовать filter_at()
function
select <- dat %>%
group_by(A, B) %>%
filter_at(vars(C, D), all_vars(. max))
Не сработало.Большое спасибо за вашу помощь.