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.