Como usar ungroup() em dplyr (com exemplos)
Você pode usar a função ungroup() em dplyr para desagrupar linhas depois de usar a função group_by() para resumir uma variável por grupo.
O exemplo a seguir mostra como usar esta função na prática.
Exemplo: como usar ungroup() em dplyr
Suponha que temos o seguinte quadro de dados em R:
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'),
dots=c(14, 18, 22, 26, 36, 34),
assists=c(5, 4, 4, 8, 7, 3))
#view data frame
df
team points assists
1 to 14 5
2 to 18 4
3 to 22 4
4 B 26 8
5 B 36 7
6 B 34 3
Agora suponha que usamos o seguinte código para calcular o valor médio dos pontos , agrupados por equipe :
library (dplyr)
#calculate mean of points, grouped by team
df_new <- df %>%
group_by(team) %>%
summarize(mean_points = mean(points)) %>%
A group()
#view results
df_new
# A tibble: 2 x 2
team mean_points
1 to 18
2 B 32
Usando esta sintaxe podemos calcular o valor médio dos pontos agrupados por equipe , mas perdemos a coluna de assistências .
Para manter a coluna helpers , podemos usar mutate() em vez de summary() e ainda usar ungroup() no final:
library (dplyr)
#calculate mean of points, grouped by team
df_new <- df %>%
group_by(team) %>%
mutate(mean_points = mean(points)) %>%
A group()
#view results
df_new
# A tibble: 6 x 4
team points assists mean_points
1 A 14 5 18
2 A 18 4 18
3 A 22 4 18
4 B 26 8 32
5 B 36 7 32
6 B 34 3 32
Desta vez podemos manter a coluna de assistências e usando a função mutate() simplesmente adicionamos uma nova coluna chamada Mean_points que exibe o valor médio de pontos de cada equipe.
Como também usamos a função ungroup() , podemos realizar cálculos neste novo quadro de dados sem nos preocupar com cálculos afetados por variáveis agrupadas.
Se não usássemos a função ungroup() , as linhas no quadro de dados ainda seriam agrupadas, o que poderia ter consequências indesejadas quando realizarmos outros cálculos posteriormente.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns em R:
Como filtrar valores únicos usando dplyr
Como filtrar por múltiplas condições usando dplyr
Como contar o número de ocorrências em colunas em R