Como dividir dados em grupos de tamanhos iguais em r


Você pode usar a função cut_number() do pacote ggplot2 em R para dividir um vetor em grupos de tamanhos iguais.

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

número_cortado(x,n)

Ouro:

  • x: Nome do vetor digital a ser dividido
  • n: Número de grupos

O exemplo a seguir mostra como usar esta função na prática.

Exemplo: Como dividir dados em grupos de tamanhos iguais em R

Suponha que temos o seguinte quadro de dados em R que contém informações sobre os pontos marcados por 12 jogadores de basquete diferentes

 #create data frame
df <- data. frame (player=LETTERS[1:12],
                 points=c(1, 2, 2, 2, 4, 5, 7, 9, 12, 14, 15, 22))

#view data frame
df

   player points
1 to 1
2 B 2
3 C 2
4 D 2
5 E 4
6 F 5
7 G 7
8:9 a.m.
9 I 12
10 D 14
11K15
12 L 22

Relacionado: Como usar a função LETRAS em R

Podemos usar a função cut_number() do pacote ggplot2 para criar uma nova coluna chamada group que divide cada linha do quadro de dados em um dos três grupos com base no valor na coluna de pontos :

 library (ggplot2)

#create new column that splits data into three equal sized groups based on points
df$group <- cut_number(df$points, 3)

#view updated data frame
df

   player points group
1 To 1 [1,3.33]
2 B 2 [1,3.33]
3 C 2 [1,3.33]
4 D 2 [1,3.33]
5 E 4 (3.33.10]
6 F 5 (3.33.10]
7 G 7 (3.33.10]
8 A.M. 9 (3.33.10]
9 I 12 (10.22]
10 J 14 (10.22]
11 K 15 (10.22]
12 L 22 (10.22]

Cada um dos 12 jogadores foi colocado em um dos três grupos com base no valor mostrado na coluna de pontos .

Pelo resultado podemos ver que existem 3 grupos distintos:

  • grupo 1: o valor dos pontos está entre 1 e 3,33.
  • grupo 2: o valor dos pontos está entre 3,33 e 10.
  • grupo 3: o valor dos pontos está entre 10 e 22.

Podemos verificar que quatro jogadores foram colocados em cada grupo.

Se quiser que a coluna do grupo exiba os grupos como valores inteiros, você pode agrupar a função cut_number() em uma função as.numeric() :

 library (ggplot2)

#create new column that splits data into three equal sized groups based on points
df$group <- as. numeric (cut_number(df$points, 3))

#view updated data frame
df

   player points group
1 A 1 1
2 B 2 1
3 C 2 1
4 D 2 1
5 E 4 2
6 F 5 2
7 G 7 2
8:92 a.m.
9 I 12 3
10 D 14 3
11 K 15 3
12 L 22 3

A nova coluna de grupo agora contém os valores 1, 2 e 3 para indicar a qual grupo o jogador pertence.

Novamente, cada grupo inclui quatro jogadores.

Nota : Para dividir a coluna de pontos em mais de três grupos, basta substituir o 3 na função cut_number() por um número diferente.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em R:

Como dividir um quadro de dados em R
Como dividir dados em conjuntos de treinamento e teste em R
Como realizar agrupamento de dados em R

Add a Comment

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