Подтвердить что ты не робот

Является ли cut() стиль биннинга доступным в dplyr?

Есть ли способ сделать что-то вроде функции cut() для бинарных числовых значений в таблице dplyr? Я работаю над большой таблицей postgres и в настоящее время могу либо написать оператор case в sql с самого начала, либо вывести неагрегированные данные и применить cut(). Оба имеют довольно очевидные недостатки... case-заявления не особенно элегантны и вытягивают большое количество записей с помощью функции collect(), но неэффективны.

4b9b3361

Ответ 1

Просто так, что есть немедленный ответ для других, прибывающих сюда через поисковую систему, форма n-breaks cut теперь реализована как функция ntile в dplyr:

> data.frame(x = c(5, 1, 3, 2, 2, 3)) %>% mutate(bin = ntile(x, 2))
  x bin
1 5   2
2 1   1
3 3   2
4 2   1
5 2   1
6 3   2