O recolher() do pacote tidyr pode ser usada para "reunir" um par chave-valor em várias colunas.
Esta função utiliza a seguinte sintaxe básica:
gather(data, key value, ...)
onde:
- dados Nome do quadro de dados
- chave Nome da coluna chave a criar
- valor Nome da coluna de valores a criar
- ... Especificar quais as colunas a recolher
Os exemplos seguintes mostram como utilizar esta função na prática.
Exemplo 1: Reunir valores de duas colunas
Suponhamos que temos o seguinte quadro de dados no R:
#criar quadro de dados df <- quadro de dados (jogador=c('A', 'B', 'C', 'D'), ano1=c(12, 15, 19, 19), ano2=c(22, 29, 18, 12)) #ver quadro de dados df jogador ano1 ano2 1 A 12 22 2 B 15 29 3 C 19 18 4 D 19 12
Podemos utilizar o recolher() para criar duas novas colunas denominadas "ano" e "pontos" da seguinte forma:
library (tidyr) #recolhe os dados das colunas 2 e 3 gather(df, key=" year ", value=" points ", 2:3) player year points 1 A year1 12 2 B year1 15 3 C year1 19 4 D year1 19 5 A year2 22 6 B year2 29 7 C year2 18 8 D year2 12
Exemplo 2: Reunir valores de mais de duas colunas
Suponhamos que temos o seguinte quadro de dados no R:
#criar quadro de dados df2 <- quadro de dados (jogador=c('A', 'B', 'C', 'D'), ano1=c(12, 15, 19, 19), ano2=c(22, 29, 18, 12), ano3=c(17, 17, 22, 25)) #ver quadro de dados df2 jogador ano1 ano2 ano3 1 A 12 22 17 2 B 15 29 17 3 C 19 18 22 4 D 19 12 25
Podemos utilizar o recolher() para "juntar" os valores das colunas 2, 3 e 4 em duas novas colunas chamadas "ano" e "pontos", da seguinte forma
library (tidyr) #recolhe os dados das colunas 2, 3 e 4 gather(df, key=" year ", value=" points ", 2:4) player year points 1 A year1 12 2 B year1 15 3 C year1 19 4 D year1 19 5 A year2 22 6 B year2 29 7 C year2 18 8 D year2 12 9 A year3 17 10 B year3 17 11 C year3 22 12 D year3 25