Функция sample_n () из пакета dplyr позволяет случайным образом сохранять указанное c количество строк. В сочетании с group_by () вы можете, например, сохранить 2 наблюдения на группу:
mtcars %>%
select(vs, drat) %>%
group_by(vs) %>%
sample_n(2)
# A tibble: 4 x 2
# Groups: vs [2]
vs drat
<dbl> <dbl>
1 0 3.07
2 0 3.9
3 1 4.22
4 1 3.08
Вопрос : есть ли простой способ выбрать другое количество наблюдений на группу? Например, если я хочу оставить 2 наблюдения для первой группы и 3 для второй. Если я передаю вектор функции sample_n () , она использует только первое значение (результат такой же, как указано выше).
mtcars %>%
select(vs, drat) %>%
group_by(vs) %>%
sample_n(c(2,3))
Заранее спасибо.