Подстановка нескольких переменных по рангу внутри фрейма данных - PullRequest
0 голосов
/ 15 января 2020

Надеюсь, что приведенное ниже имеет смысл.

У меня есть набор данных с большим количеством переменных (строка). Внутри каждой переменной есть разделы, которые оцениваются 1-15. Мне нужно установить подкадр данных на основе трех разделов с наивысшей оценкой для каждой переменной. С каждым разделом связаны дополнительные данные, которые могут потребоваться, но не являются частью выбора.

Возникли проблемы с этим. Любая помощь приветствуется.

Макет ниже:

Переменная Aux_score
1 1
1 6
1 3
1 8
1 10
2 3
2 2
2 12
2 10
2 11
3 7
3 2
3 9
3 8
3 12

1 Ответ

0 голосов
/ 15 января 2020

Вы можете сделать это так с базой r:

do.call(rbind, lapply(split(df, df$Variable), function(df) df[ tail(order(df$Aux_score), 3), ]))

Или вот так с tidyverse:

df %>% group_by(Variable) %>% top_n(3, Aux_score) %>% ungroup()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...