Coleção dados
Agrupar e resumir
Calcule estatísticas descritivas e outras medidas para a tabela inteira ou para cada grupo.
O que o bloco faz
data/group_summarise calcula uma ou mais medidas sobre a tabela. Com grupos,
produz uma linha para cada combinação distinta das colunas escolhidas. Com
Agrupar por vazio, produz uma linha para a tabela inteira.
Cada medida ocupa uma coluna da saída, junto das colunas usadas para formar os grupos. O resultado é uma tabela comum, pronta para visualização, junção ou gravação.
Quando usar
Use Agrupar e resumir quando a pergunta pede uma medida por categoria ou
para a tabela inteira. No exemplo, a média mensal de Ozone compara meses e
considera somente os dias medidos.
mean() calcula a média, median() a mediana, sum() o total, sd() o
desvio padrão, min() e max() os extremos. dplyr::n() conta linhas e
dplyr::n_distinct() conta valores diferentes.
Antes de continuar
O campo Agrupar por define quais observações são comparadas. Neste exemplo,
Monthforma uma linha para cada mês observado. Sem grupos, o bloco calcula as mesmas medidas para a tabela inteira. Nome e Resumo correspondem pela posição.
Configuração
Agrupar por (by) lista os campos de agrupamento. Nome (name) e Resumo (expr) são listas correspondentes por posição; deixe by vazio para uma linha de resumo da tabela toda.
Exemplo
library(trama)
reg <- tr_registry()
tr_use("trama.data", registry = reg)
tr_flow(reg) |>
tr_add("ar", "data/example", dataset = "airquality") |>
tr_add("mensal", "data/group_summarise", by = "Month",
name = "ozonio_medio, dias",
expr = "mean(Ozone, na.rm = TRUE), dplyr::n()", from = "ar")A tabela resultante tem cinco linhas, uma por mês de airquality, com a média
de Ozone entre os dias medidos e o total de dias registrados naquele mês.
Como interpretar
A média, os extremos e a contagem aparecem em colunas separadas. O grupo é
Month, codificado de 5 a 9 no conjunto airquality; ele representa o mês
no ano de 1973.
na.rm = TRUE calcula a média de Ozone apenas para os dias medidos; a coluna
dias inclui também os dias sem medição. Os dois resultados têm denominadores
diferentes, então dias não é a contagem usada pela média.