Como usar a função spread em r (com exemplos)


A função spread() no pacote Tidyr pode ser usada para “espalhar” um par de valores-chave em várias colunas.

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

spread (dados, valor-chave)

Ouro:

  • data : nome do quadro de dados
  • key : Coluna cujos valores se tornarão nomes de variáveis
  • valor : Coluna onde serão preenchidos os valores sob as novas variáveis criadas a partir da chave

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

Exemplo 1: Distribua os valores em duas colunas

Suponha que temos o seguinte quadro de dados em R:

 #create data frame
df <- data. frame (player= rep (c(' A ', ' B '), each= 4 ),
                 year= rep (c(1, 1, 2, 2), times= 2 ),
                 stat= rep (c(' points ', ' assists '), times= 4 ),
                 amount=c(14, 6, 18, 7, 22, 9, 38, 4))

#view data frame
df

  player year stat amount
1 A 1 points 14
2 A 1 assists 6
3 A 2 points 18
4 A 2 assists 7
5 B 1 points 22
6 B 1 assists 9
7 B 2 points 38
8 B 2 assists 4

Podemos usar a função spread() para transformar os valores da coluna estatística em suas próprias colunas:

 library (tidyr)

#spread stat column across multiple columns
spread(df, key=stat, value=amount)

  player year assists points
1 to 1 6 14
2 to 2 7 18
3 B 1 9 22
4 B 2 4 38

Exemplo 2: Distribua valores em mais de duas colunas

Suponha que temos o seguinte quadro de dados em R:

 #create data frame
df2 <- data. frame (player= rep (c(' A '), times= 8 ),
                 year= rep (c(1, 2), each= 4 ),
                 stat= rep (c(' points ', ' assists ', ' steals ', ' blocks '), times= 2 ),
                 amount=c(14, 6, 2, 1, 29, 9, 3, 4))

#view data frame
df2

  player year stat amount
1 A 1 points 14
2 A 1 assists 6
3 A 1 steals 2
4 A 1 blocks 1
5 A 2 points 29
6 A 2 assists 9
7 A 2 steals 3
8 A 2 blocks 4

Podemos usar a função spread() para transformar os quatro valores exclusivos na coluna estatística em quatro novas colunas:

 library (tidyr)

#spread stat column across multiple columns
spread(df2, key=stat, value=amount)

  player year assists blocks points steals
1 A 1 6 1 14 2
2 A 2 9 4 29 3

Recursos adicionais

O objetivo do pacote Tidyr é criar dados “organizados”, que possuem as seguintes características:

  • Cada coluna é uma variável.
  • Cada linha é uma observação.
  • Cada célula é um valor único.

O pacote Tidyr usa quatro funções principais para criar dados ordenados:

1. A função spread() .

2. A função reunir() .

3. A função separada() .

4. A função unit() .

Se você dominar essas quatro funções, será capaz de criar dados “organizados” a partir de qualquer quadro de dados.

Add a Comment

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