Я хотел бы выбрать 3 нижних номера в группе, используя R - PullRequest
1 голос
/ 16 апреля 2020

У меня есть этот скрипт

CHECK <-TOP3BYNumber %>%
arrange(Number) %>%
group_by(Number) %>%
top_n(3)

Это дает мне самые высокие 3 значения, сгруппированные по столбцу Number с использованием dplyr.

Я бы хотел вместо того, чтобы получать три верхних значения в получить 3 верхних самых низких значения.

я пробовал top_n (-3), и это не работает.

1 Ответ

1 голос
/ 16 апреля 2020

Мы можем использовать slice

library(dplyr)
TOP3BYNumber %>%
      arrange(desc(Number)) %>%
      group_by(Number) %>%
      slice(seq_len(3))

Или с row_number()

TOP3BYNumber %>%
      arrange(desc(Number)) %>%
      group_by(Number) %>%
      slice(head(row_number(), 3))
...