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