Dplyr: como resumir dados, mas manter todas as colunas


Ao usar a função summarise() em dplyr , quaisquer variáveis não incluídas nas funções summarise() ou group_by() serão automaticamente removidas.

No entanto, você pode usar a função mutate() para resumir os dados enquanto retém todas as colunas no quadro de dados.

O exemplo a seguir mostra como usar esta função na prática.

Exemplo: resumir os dados, mas manter todas as colunas usando dplyr

Suponha que temos o seguinte quadro de dados contendo informações sobre vários jogadores de basquete:

 #create data frame
df <- data. frame (team=rep(c(' A ', ' B ', ' C '), each= 3 ),
                 points=c(4, 9, 8, 12, 15, 14, 29, 30, 22),
                 assists=c(3, 3, 2, 5, 8, 10, 4, 5, 12))

#view data frame
df

  team points assists
1 to 4 3
2 to 9 3
3 to 8 2
4 B 12 5
5 B 15 8
6 B 14 10
7 C 29 4
8 C 30 5
9 C 22 12

Podemos usar a seguinte sintaxe para resumir a média de pontos marcados por equipe :

 library (dplyr)

#summarize mean points values by team
df %>%
  group_by(team) %>%
  summarize(mean_pts = mean(points))

# A tibble: 3 x 2
  team mean_pts
      
1 to 7  
2 B 13.7
3 C 27

A coluna chamada Mean_pts exibe a média de pontos marcados por cada equipe.

Pelo resultado podemos ver:

  • A média de pontos marcados pelos jogadores da equipe A é 7 .
  • A média de pontos marcados pelos jogadores da equipe B é de 13,7 .
  • A média de pontos marcados pelos jogadores da equipe C é de 27 .

No entanto, digamos que queremos manter todas as outras colunas do quadro de dados original.

Podemos usar a seguinte sintaxe com a função mutate() para fazer isso:

 library (dplyr)

#summarize mean points values by team and keep all columns
df %>%
  group_by(team) %>%
  mutate(mean_pts = mean(points)) %>%
  A group()

# A tibble: 9 x 4
  team points assists mean_pts
           
1 to 4 3 7  
2 to 9 3 7  
3 to 8 2 7  
4 B 12 5 13.7
5 B 15 8 13.7
6 B 14 10 13.7
7 C 29 4 27  
8 C 30 5 27  
9 C 22 12 27

Usando a função mutate() , podemos criar uma nova coluna chamada Mean_pts que resume a média de pontos marcados por equipe, mantendo todas as outras colunas do quadro de dados original.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns no dplyr:

dplyr: Como alterar uma variável se a coluna contiver uma string
dplyr: Como alterar os níveis dos fatores usando mutate()
dplyr: Como adicionar múltiplas colunas

Add a Comment

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