Olá a todos
Provavelmente o título do tópico não seja claro o suficiente para expressar com precisão a minha dúvida. A situação é a seguinte:
- Tenho uma data frame com 3 colunas numéricas: tt_alunos, tt_reprovacoes e i_reprov.
- As variáveis tt_alunos e tt_reprovacoes eu preciso grupar por cidades
- A variável indice_reprov, eu gostaria de calcular a média aritmética.
Segue um exemplo:
base ← data.frame(
cidades = c(“cidade 1”, “cidade 1”, “cidade 1”, “cidade 2”, “cidade 2”, “cidade 2,”, “cidade 2”),
escolas = c(“escola 1”, “escola 1”, “escola 2”, “Escola 3”, “escola 4”, “escola 4”, “escola 5”),
nro_alunos = c(100, 200, 150, 120, 140, 80, 130),
nro_reprovacoes = c(5, 12, 7, 2, 4, 13, 11),
irep = round(tt_reprovacoes/tt_alunos, 2)
)
Eu preciso consolidar os dados por cidades: somar_total_alunos, somar_total_reprovacoes, media_reprovacoes_por_cidade. Para isso, gostaria de usar a função across
. Eu consegui fazer apenas somando todas as variáveis. Como faço para somar as duas primeiras variáveis e calcular a media da terceira na mesma linha? Segue até onde consegui:
baseAgrupada ← base |> dplyr::group_by(cidades) |>
dplyr::summarise(
dplyr::across(
.cols = c(tt_alunos = nro_alunos, tt_nn = nro_reprovacoes, irep),
.fns = sum, na.rm = T
) )
Obrigado, antecipadamente, pelo apoio de sempre.