Как использовать функцию ntile() в dplyr (с примерами)
Вы можете использовать функцию ntile() из пакета dplyr в R, чтобы разделить входной вектор на n ячеек.
Эта функция использует следующий базовый синтаксис:
ntile(x, n)
Золото:
- x : входной вектор
- n : Количество отсеков
Примечание . Размеры ведер могут отличаться максимум на единицу.
Следующие примеры показывают, как использовать эту функцию на практике.
Пример 1. Использование ntile() с вектором
Следующий код показывает, как использовать функцию ntile() для разделения вектора из 11 элементов на 5 разных сегментов:
library (dplyr) #createvector x <- c(1, 3, 4, 6, 7, 8, 10, 13, 19, 22, 23) #break up vector into 5 buckets ntile(x, 5) [1] 1 1 1 2 2 3 3 4 4 5 5
Из результата мы видим, что каждый элемент исходного вектора был помещен в одно из пяти сегментов.
Наименьшие значения присваиваются сегменту 1, а самые большие значения присваиваются сегменту 5.
Например:
- Наименьшие значения 1, 3 и 4 присваиваются сегменту 1 .
- Наибольшие значения, 22 и 23, присвоены сегменту 5 .
Пример 2. Использование ntile() с фреймом данных
Предположим, у нас есть следующий кадр данных в R, который показывает очки, набранные разными баскетболистами:
#create data frame df <- data. frame (player=LETTERS[1:9], points=c(12, 19, 7, 22, 24, 28, 30, 19, 15)) #view data frame df player points 1 to 12 2 B 19 3 C 7 4 D 22 5 E 24 6 F 28 7 G 30 8:19 a.m. 9 I 15
Следующий код показывает, как использовать функцию ntile() для создания нового столбца во фрейме данных, который назначает каждому игроку одну из трех групп в зависимости от набранных очков:
library (dplyr) #create new column that assigns players into buckets based on points df$bucket <- ntile(df$points, 3) #view updated data frame df player points bucket 1 to 12 1 2 B 19 2 3 C 7 1 4 D 22 2 5 E 24 3 6 F 28 3 7 G 30 3 8:19 2 9 I 15 1
Новый столбец сегмента присваивает каждому игроку значение от 1 до 3.
Игроки с наименьшим количеством очков получают значение 1 , а игроки с наибольшим количеством очков получают значение 3 .
Дополнительные ресурсы
В следующих руководствах объясняется, как использовать другие распространенные функции в R:
Как использовать функциюthrough() в dplyr
Как использовать функцию relocate() в dplyr
Как использовать функцию среза() в dplyr