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