Q1 - Qual a diferença entre as mensalidades médias e medianas dos cursos de Ciência da Computação das regiões Nordeste e Sudeste? Na sua opinião, o que causa essa diferença? Ela é estatisticamente significativa? Justifique.
# Mescla os data frames usando as colunas "uf_busca e subdivision"
dados_unidos <- merge(cursos_prouni, estado, by.x = "uf_busca", by.y = "subdivision", all.x = TRUE)
# Filtra os dados para cursos de Ciência da Computação nas regiões Nordeste e Sudeste
apenas_computacao <- dados_unidos %>%
filter(curso_busca == "Ciência da Computação" & (region == "NE" | region == "SE"))
# Calcula as médias e medianas das mensalidades
agrupados_curso_mensalidade_media <- apenas_computacao %>%
group_by(curso_busca) %>%
group_by(region) %>%
summarise(mens_media = mean(mensalidade),
mens_mediana = median(mensalidade)) %>%
mutate(diferenca = abs(mens_media - mens_mediana))
print(agrupados_curso_mensalidade_media)
## # A tibble: 2 × 4
## region mens_media mens_mediana diferenca
## <chr> <dbl> <dbl> <dbl>
## 1 NE 713. 743. 30.1
## 2 SE 899. 779 120.
# Gera gráfico
ggplot(agrupados_curso_mensalidade_media, aes(reorder(region, mens_media), mens_media, fill= region)) +
geom_bar(stat = 'identity') +
geom_point(aes(y=mens_mediana)) +
theme_bw() +
theme(legend.position = "none") +
xlab('Regiao Nordeste(NE) e Sudoeste(SE)') + ylab('Mensalidade media')
RESPOSTA
No Nordeste, a mediana é maior que a média, sugerindo uma inclinação leve para valores menores na distribuição da mensalidade. Nesse cenário, a diferença é insignificante, tornando a média um indicador estatisticamente válido da distribuição.
Já no Sudeste, a média supera significativamente a mediana, indicando a presença de valores de mensalidade elevados que impulsionam a média para níveis mais altos. Dada a grande diferença entre as medidas, a média parece não refletir adequadamente a distribuição.
Sim, essa diferença é estatisticamente relevante no segundo caso, pois a diferença é mais significativa, cerca de R$ 120. No primeiro cenário é uma diferença de R$ 30 reais, que é considerada pequena.
Q2 - Quais são os top 10 cursos com maior valor de mensalidade pelo total de bolsas (diferentes tipos)? Existe uma relação entre o valor total de mensalidade e o total de bolsas por curso? Justifique.
# Remove linhas com valores NA apenas nas colunas especificadas
dados_bolsa_tratado <- cursos_prouni[complete.cases(cursos_prouni$bolsa_integral_ampla,
cursos_prouni$bolsa_integral_cotas,
cursos_prouni$bolsa_parcial_ampla,
cursos_prouni$bolsa_parcial_cotas), ]
# Agrupa os dados por curso e calcular a mensalidade total e o total de bolsas concedidas
cursos_agrupados_nome_bolsa_media <- dados_bolsa_tratado %>%
group_by(nome) %>%
summarise(mensalidade_media = mean(mensalidade),
media_bolsas = mean(bolsa_integral_ampla) + mean(bolsa_integral_cotas) + mean(bolsa_parcial_ampla) + mean(bolsa_parcial_cotas))
# Adiciona uma nova coluna com a relação entre mensalidade e bolsas
cursos_com_relacao <- cursos_agrupados_nome_bolsa_media %>%
mutate(proporcao_inversa = ifelse(media_bolsas != 0, mensalidade_media / media_bolsas, 0))
# Mostra gráfico com relação entre mensalidade e bolsas
ggplot(cursos_com_relacao, aes(x = mensalidade_media, y = media_bolsas)) +
geom_point() +
labs(title = "Relação entre mensalidade e bolsas",
x = "Mesalidade Média",
y = "Media de Bolsas")
# Ordena os cursos
cursos_ordenados <- cursos_com_relacao %>%
arrange(proporcao_inversa)
# Mostra a tabela com os cursos
print(head(cursos_ordenados, 10))
## # A tibble: 10 × 4
## nome mensalidade_media media_bolsas proporcao_inversa
## <chr> <dbl> <dbl> <dbl>
## 1 Ciência Econômica 450 85 5.29
## 2 Secretariado 252. 19.8 12.8
## 3 Segurança Pública 785 56 14.0
## 4 Produção Fonográfica 627. 40 15.7
## 5 Pedagogia 374. 19.0 19.7
## 6 Produção Multimídia 791. 39.5 20.0
## 7 Física 494 23 21.5
## 8 Serviços Jurídicos 780 33 23.6
## 9 Banco de Dados 1119. 39 28.7
## 10 Letras 330. 11.4 28.9
RESPOSTA
OBS: As linhas com NA nas colunas de bolsas foram removidas. Para evitar interferência nos cálculos.
Os cursos top10 com maior valor mensalidade pelo total de bolsas em diferentes tipos são: Ciência Econômica, Secretariado, Segurança Pública, Produção Fonográfica, Pedagogia, Produção Multimídia, Física, Serviços Jurídicos, Banco De Dados, Letras.
Segundo o gráfico aparentemente não existe relação entre o valor do curso e a quantidade de bolsas ofertadas.
Q3 - Quais são os cursos tecnológicos do estado da Paraíba que oferecem mais bolsas de estudo e quantas bolsas de cada tipo estes cursos oferecem?
#Filtra cursos tecnológicos da paraíba
cursos_paraiba <- cursos_prouni %>%
filter(uf_busca == "PB" & grau == "Tecnológico")
#Agrupa os dados por curso e calcular o total de bolsas de estudo de cada tipo para cada curso
cursos_agrupados_nome_bolsas_soma <- cursos_paraiba %>%
group_by(nome) %>%
summarise(bolsa_integral_ampla = sum(bolsa_integral_ampla, na.rm = TRUE),
bolsa_integral_cotas = sum(bolsa_integral_cotas, na.rm = TRUE),
bolsa_parcial_ampla = sum(bolsa_parcial_ampla, na.rm = TRUE),
bolsa_parcial_cotas = sum(bolsa_parcial_cotas, na.rm = TRUE))
#Filtra total de bolsas
cursos_com_bolsas <- cursos_agrupados_nome_bolsas_soma %>%
mutate(qtd_total_bolsas = (bolsa_integral_ampla + bolsa_integral_cotas + bolsa_parcial_ampla + bolsa_parcial_cotas))
#Ordena os cursos com base no total de bolsas de estudo
cursos_ordenados <- cursos_com_bolsas %>%
arrange(desc(qtd_total_bolsas))
#Mostra a tabela com os cursos ordenados
print(cursos_ordenados)
## # A tibble: 34 × 6
## nome bolsa_integral_ampla bolsa_integral_cotas bolsa_parcial_ampla
## <chr> <dbl> <dbl> <dbl>
## 1 Gestão de Recu… 20 31 70
## 2 Segurança no T… 7 11 91
## 3 Redes de Compu… 10 16 80
## 4 Gestão da Tecn… 6 12 80
## 5 Negócios Imobi… 4 6 85
## 6 Logística 3 9 67
## 7 Design de Inte… 10 13 30
## 8 Radiologia 30 12 10
## 9 Gestão Comerci… 5 14 3
## 10 Marketing 8 15 0
## # ℹ 24 more rows
## # ℹ 2 more variables: bolsa_parcial_cotas <dbl>, qtd_total_bolsas <dbl>
RESPOSTA
Os três cursos com maior oferta são: Gestão de Recursos Humanos, Segurança no Trabalho e Redes de computadores.
O curso com maior oferta de bolsa é o de Gestão em Recursos Humanos com um total de 124 bolsas.
Q4 - Considerando os cursos de Ciência da Computação, Engenharia da Computação e Sistemas de Informação, qual o percentual de bolsas ofertadas para cada modalidade (a distância, integral, noturno, matutino e vespertino) por cada um dos cursos? Existe uma modalidade que é predominante?
# Filtrar os cursos de Ciência da Computação, Engenharia da Computação e Sistemas de Informação
cursos_tecnologia <- cursos_prouni %>%
filter(curso_busca %in% c("Ciência da Computação", "Engenharia da Computação", "Sistemas de Informação"))
# Agrupar os dados por curso e turno
cursos_agrupados <- cursos_tecnologia %>%
group_by(curso_busca, turno) %>%
mutate(total_bolsas = coalesce(bolsa_integral_ampla, 0) +
coalesce(bolsa_integral_cotas, 0) +
coalesce(bolsa_parcial_ampla, 0) +
coalesce(bolsa_parcial_cotas, 0)) %>%
summarise(total_bolsas = sum(total_bolsas, na.rm = TRUE), .groups = 'drop')
# Percentual de total_bolsas em cada turno
pencentual_bolsas_turno <- cursos_agrupados %>%
pivot_wider(names_from = turno, values_from = total_bolsas, values_fill = 0) %>%
mutate(total_bolsas = rowSums(across(-curso_busca, .names = "T")), # Calcular o total de bolsas por curso
`Integral` = `Integral` / total_bolsas * 100,
`Matutino` = `Matutino` / total_bolsas * 100,
`Vespertino` = `Vespertino` / total_bolsas * 100,
`Curso a Distância` = `Curso a Distância` / total_bolsas * 100,
`Noturno` = `Noturno` / total_bolsas * 100)
# Mostrar a tabela com os resultados
print(pencentual_bolsas_turno)
## # A tibble: 3 × 7
## curso_busca Integral Matutino Noturno Vespertino `Curso a Distância`
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Ciência da Computação 1.26 24.2 73.5 1.07 0
## 2 Engenharia da Comput… 18.2 15.7 66.1 0 0
## 3 Sistemas de Informaç… 0 13.5 78.6 2.91 4.94
## # ℹ 1 more variable: total_bolsas <dbl>
RESPOSTA
De acordo com a tabela gerada, a modalidade predominante em todos os cursos é a noturna, enquanto a modalidade vespertina é a com menos ofertas em todos os cursos.