Como usar a função ntile() em dplyr (com exemplos)


Você pode usar a função ntile() do pacote dplyr em R para dividir um vetor de entrada em n compartimentos.

Esta função usa a seguinte sintaxe básica:

ntile(x, n)

Ouro:

  • x : vetor de entrada
  • n : Número de compartimentos

Nota : Os tamanhos dos baldes podem diferir em até um.

Os exemplos a seguir mostram como usar esta função na prática.

Exemplo 1: Use ntile() com um vetor

O código a seguir mostra como usar a função ntile() para dividir um vetor de 11 elementos em 5 intervalos diferentes:

 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

Pelo resultado, podemos ver que cada elemento do vetor original foi colocado em um dos cinco baldes.

Os menores valores são atribuídos ao intervalo 1, enquanto os valores maiores são atribuídos ao intervalo 5.

Por exemplo:

  • Os menores valores de 1, 3 e 4 são atribuídos ao intervalo 1 .
  • Os maiores valores, 22 e 23, são atribuídos ao intervalo 5 .

Exemplo 2: Usando ntile() com um quadro de dados

Suponha que temos o seguinte quadro de dados em R que mostra os pontos marcados por diferentes jogadores de basquete:

 #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

O código a seguir mostra como usar a função ntile() para criar uma nova coluna no quadro de dados que atribui cada jogador a um dos três baldes, com base nos pontos marcados:

 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

A nova coluna do balde atribui um valor entre 1 e 3 a cada jogador.

Os jogadores com os pontos mais baixos recebem o valor 1 e os jogadores com os pontos mais altos recebem o valor 3 .

Recursos adicionais

Os tutoriais a seguir explicam como usar outras funções comuns em R:

Como usar a função across() no dplyr
Como usar a função relocate() no dplyr
Como usar a função slice() no dplyr

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *