R: como usar pivot_wider() com múltiplas colunas
A função pivot_wider() do pacote Tidyr em R pode ser usada para girar um bloco de dados de um formato longo para um formato amplo.
Se quiser usar esta função para girar várias colunas, você pode usar a seguinte sintaxe:
library (tidyr)
df_wide <- pivot_wider(df, names_from=group, values_from=c(values1, values2))
Ao fornecer vários nomes de colunas ao argumento values_from , você pode girar várias colunas de uma vez.
O exemplo a seguir mostra como usar esta função na prática.
Relacionado: Dados longos ou largos: qual é a diferença?
Exemplo: Use pivot_wider() com múltiplas colunas em R
Suponha que temos o seguinte quadro de dados em R que contém informações sobre vários jogadores de basquete:
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'),
player=c('G', 'F', 'C', 'G', 'F', 'C'),
points=c(22, 34, 20, 15, 14, 19),
assists=c(4, 10, 12, 9, 8, 5))
#view data frame
df
team player points assists
1 AG 22 4
2 AF 34 10
3 AC 20 12
4 BG 15 9
5 BF 14 8
6 BC 19 5
Agora digamos que queremos girar os valores nos pontos e nas colunas auxiliares ao mesmo tempo.
Podemos usar a seguinte sintaxe para fazer isso:
library (tidyr)
#pivot values in points and assists columns
df_wide <- pivot_wider(df, names_from=player, values_from=c(points, assists))
#view wide data frame
df_wide
# A tibble: 2 x 7
team points_G points_F points_C assists_G assists_F assists_C
1 A 22 34 20 4 10 12
2 B 15 14 19 9 8 5
Observe que cada valor na coluna dos jogadores foi combinado com os pontos e assistências para criar um total de seis novas colunas exibindo os pontos e assistências marcados pelos jogadores em cada posição.
O resultado final é um grande quadro de dados com um total de sete colunas.
Nota : Você pode encontrar a documentação completa da função pivot_wider() aqui .
Recursos adicionais
Os tutoriais a seguir explicam como usar outras funções comuns do pacote Tidyr em R:
Como usar pivot_longer() em R
Como usar a função Spread em R
Como usar a função de coleta em R
Como usar uma função separada em R
Como usar a função Unite em R