Як використовувати функцію 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:

Як використовувати функцію cross() у dplyr
Як використовувати функцію relocate() у dplyr
Як використовувати функцію slice() у dplyr

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *