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, essa diferença o que causa essa diferença? Ela é estatisticamente significativa? Justifique.
# Seleciona os estados pertencentes às regiões Nordeste e Sudeste
estados_nordeste <- df_estados %>%
filter(category == "State", region == "NE") %>%
select(subdivision)
estados_sudeste <- df_estados %>%
filter(category == "State", region == "SE") %>%
select(subdivision)
# Filtra os cursos de Ciência da Computação e identifica a qual região cada curso pertence
dados_cc <- df_cursos %>%
filter(curso_busca == "Ciência da Computação") %>%
filter(uf_busca %in% estados_nordeste$subdivision |
uf_busca %in% estados_sudeste$subdivision) %>%
mutate(
regiao = case_when(
uf_busca %in% estados_nordeste$subdivision ~ "Nordeste",
uf_busca %in% estados_sudeste$subdivision ~ "Sudeste",
TRUE ~ NA_character_
)
)
# Calcula a média e a mediana das mensalidades para cada região
resumo_mensalidades <- dados_cc %>%
group_by(regiao) %>%
summarise(
mensalidade_media = mean(mensalidade, na.rm = TRUE),
mensalidade_mediana = median(mensalidade, na.rm = TRUE),
.groups = "drop"
)
resumo_mensalidades
## # A tibble: 2 × 3
## regiao mensalidade_media mensalidade_mediana
## <chr> <dbl> <dbl>
## 1 Nordeste 713. 743.
## 2 Sudeste 899. 779
# Calcula a diferença absoluta entre as médias e medianas das mensalidades
comparativo <- resumo_mensalidades %>%
summarise(
identificador = "Diferença",
mensalidade_media = abs(diff(mensalidade_media)),
mensalidade_mediana = abs(diff(mensalidade_mediana))
)
comparativo
## # A tibble: 1 × 3
## identificador mensalidade_media mensalidade_mediana
## <chr> <dbl> <dbl>
## 1 Diferença 186. 36.2
# Gera um gráfico de barras para comparar as médias e medianas por região
grafico_q1 <- resumo_mensalidades %>%
pivot_longer(cols = c(mensalidade_media, mensalidade_mediana),
names_to = "Tipo_Estatistica", values_to = "Valor") %>%
ggplot(aes(x = regiao, y = Valor, fill = Tipo_Estatistica)) +
geom_bar(stat = "identity", position = "dodge") +
geom_text(aes(label = round(Valor, 2)),
position = position_dodge(width = 0.9), vjust = 1.5) +
labs(
title = "Comparativo de Média e Mediana das Mensalidades em Ciência da Computação",
x = "Região",
y = "Mensalidade (R$)",
fill = "Tipo de Estatística"
) +
scale_fill_manual(values = c("mensalidade_media" = "#0a8967",
"mensalidade_mediana" = "#07f9a2")) +
theme_minimal() +
theme(legend.position = "bottom")
grafico_q1
Podemos observar que os cursos de Ciência da Computação possuem mensalidades médias mais elevadas na região Sudeste em comparação ao Nordeste. No Sudeste, o valor médio é de R$899,06, enquanto no Nordeste é de R$712,73, resultando em uma diferença média de R$186,33.
No entanto, ao considerarmos as medianas, a diferença se reduz significativamente para R$36,20 — com o valor de R$779,00 no Sudeste e R$742,80 no Nordeste.
Essa disparidade pode ser atribuída a fatores como custo de vida regional, concentração de instituições renomadas, demanda pelos cursos e estratégias de precificação adotadas pelas universidades.
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.
# Escolhendo as colunas relevantes para a análise
dados_bolsas <- df_cursos %>%
select(curso_busca, mensalidade, bolsa_integral_cotas,
bolsa_integral_ampla, bolsa_parcial_cotas, bolsa_parcial_ampla)
# Agrupando informações por curso
dados_bolsas <- dados_bolsas %>%
group_by(curso_busca)
# Gerando estatísticas de interesse para cada curso
estatisticas_bolsas <- dados_bolsas %>%
summarise(
maior_mensalidade = max(mensalidade, na.rm = TRUE),
bolsas_integral_cotas = sum(bolsa_integral_cotas, na.rm = TRUE),
bolsas_integral_ampla = sum(bolsa_integral_ampla, na.rm = TRUE),
bolsas_parcial_cotas = sum(bolsa_parcial_cotas, na.rm = TRUE),
bolsas_parcial_ampla = sum(bolsa_parcial_ampla, na.rm = TRUE),
.groups = "drop"
)
# Calculando o total de bolsas por curso
estatisticas_bolsas <- estatisticas_bolsas %>%
mutate(
total_bolsas = rowSums(across(c(bolsas_integral_cotas,
bolsas_integral_ampla,
bolsas_parcial_cotas,
bolsas_parcial_ampla)))
)
# Mantendo apenas as colunas necessárias
resumo_bolsas <- estatisticas_bolsas %>%
select(curso_busca, maior_mensalidade, total_bolsas)
# Ordenando pelo maior número de bolsas e mensalidade
resumo_bolsas <- resumo_bolsas %>%
arrange(desc(total_bolsas), desc(maior_mensalidade))
# Selecionando os 10 cursos em destaque
top_cursos_bolsas <- head(resumo_bolsas, 10)
top_cursos_bolsas
## # A tibble: 10 × 3
## curso_busca maior_mensalidade total_bolsas
## <chr> <dbl> <dbl>
## 1 Administração 6553. 20761
## 2 Pedagogia 3282 19448
## 3 Direito 7718. 14678
## 4 Ciências Contábeis 5801. 13145
## 5 Educação Física 8467. 10914
## 6 Enfermagem 9836. 10302
## 7 Engenharia Civil 6180 9442
## 8 Psicologia 9689. 6779
## 9 Gestão de Recursos Humanos 3408. 6665
## 10 Engenharia de Produção 7360. 5946
# Visualização da distribuição entre mensalidade e quantidade de bolsas
grafico_bolsas <- ggplot(resumo_bolsas, aes(x = maior_mensalidade,
y = total_bolsas)) +
geom_point(color = "green") +
labs(
title = "Distribuição da Mensalidade Máxima versus Total de Bolsas",
x = "Mensalidade Máxima (R$)",
y = "Quantidade Total de Bolsas"
) +
theme_minimal()
grafico_bolsas
# Cálculo da correlação entre o valor da mensalidade e a quantidade de bolsas
coef_correlacao <- cor(resumo_bolsas$maior_mensalidade,
resumo_bolsas$total_bolsas, method = "pearson")
print(sprintf(
"O coeficiente de correlação de Pearson calculado é de aproximadamente %.4f",
coef_correlacao))
## [1] "O coeficiente de correlação de Pearson calculado é de aproximadamente 0.6067"
O coeficiente de correlação de Pearson calculado mostra uma correlação positiva moderada entre o valor da mensalidade máxima dos cursos e o total de bolsas ofertadas. Isso sugere que, em geral, cursos com mensalidades mais elevadas tendem a oferecer mais bolsas. Contudo, a força dessa associação não é muito alta, o que indica que outros fatores também influenciam a quantidade de bolsas concedidas.
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?
# Filtrando cursos tecnológicos localizados na Paraíba (PB)
cursos_tecnologicos_pb <- df_cursos %>%
filter(uf_busca == "PB", grau == "Tecnológico")
# Agrupando por nome do curso e somando a quantidade total de bolsas concedidas
resumo_bolsas_pb <- cursos_tecnologicos_pb %>%
group_by(nome) %>%
summarise(
bolsas_totais = sum(bolsa_integral_ampla, na.rm = TRUE) +
sum(bolsa_parcial_cotas, na.rm = TRUE) +
sum(bolsa_parcial_ampla, na.rm = TRUE) +
sum(bolsa_integral_cotas, na.rm = TRUE),
.groups = "drop"
) %>%
arrange(desc(bolsas_totais))
# Quantidade de cursos tecnológicos distintos na Paraíba
quantidade_cursos_pb <- n_distinct(resumo_bolsas_pb$nome)
Tabela com total de bolsas para cada curso.
head(resumo_bolsas_pb, 34)
## # A tibble: 34 × 2
## nome bolsas_totais
## <chr> <dbl>
## 1 Gestão de Recursos Humanos 124
## 2 Segurança no Trabalho 110
## 3 Redes de Computadores 106
## 4 Gestão da Tecnologia da Informação 99
## 5 Negócios Imobiliários 95
## 6 Logística 80
## 7 Design de Interiores 53
## 8 Radiologia 53
## 9 Gestão Comercial 27
## 10 Marketing 27
## # ℹ 24 more rows
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, etc.) por cada um dos cursos? Existe uma modalidade que é predominante?
# Definindo os cursos de interesse para análise
cursos_selecionados <- c("Ciência da Computação",
"Engenharia da Computação",
"Sistemas de Informação")
# Filtrando o dataset apenas para os cursos selecionados
dados_filtrados_bolsas <- df_cursos %>%
filter(curso_busca %in% cursos_selecionados)
# Agrupando por curso e turno e somando a quantidade de bolsas
resumo_total_bolsas <- dados_filtrados_bolsas %>%
group_by(curso_busca, turno) %>%
summarise(
bolsas_totais = sum(bolsa_integral_cotas, na.rm = TRUE) +
sum(bolsa_integral_ampla, na.rm = TRUE) +
sum(bolsa_parcial_cotas, na.rm = TRUE) +
sum(bolsa_parcial_ampla, na.rm = TRUE),
qtd_bolsa_integral_cotas = sum(bolsa_integral_cotas, na.rm = TRUE),
qtd_bolsa_integral_ampla = sum(bolsa_integral_ampla, na.rm = TRUE),
qtd_bolsa_parcial_cotas = sum(bolsa_parcial_cotas, na.rm = TRUE),
qtd_bolsa_parcial_ampla = sum(bolsa_parcial_ampla, na.rm = TRUE),
.groups = "drop"
)
# Calculando a distribuição percentual de cada tipo de bolsa dentro de cada curso
percentuais_bolsas <- resumo_total_bolsas %>%
group_by(curso_busca) %>%
mutate(
perc_integral_cotas = round(qtd_bolsa_integral_cotas
/ bolsas_totais * 100, 2),
perc_integral_ampla = round(qtd_bolsa_integral_ampla
/ bolsas_totais * 100, 2),
perc_parcial_cotas = round(qtd_bolsa_parcial_cotas
/ bolsas_totais * 100, 2),
perc_parcial_ampla = round(qtd_bolsa_parcial_ampla
/ bolsas_totais * 100, 2)
) %>%
select(
curso_busca, turno, bolsas_totais,
perc_integral_cotas, perc_integral_ampla,
perc_parcial_cotas, perc_parcial_ampla
)
percentuais_bolsas
## # A tibble: 11 × 7
## # Groups: curso_busca [3]
## curso_busca turno bolsas_totais perc_integral_cotas perc_integral_ampla
## <chr> <chr> <dbl> <dbl> <dbl>
## 1 Ciência da Compu… Inte… 20 15 45
## 2 Ciência da Compu… Matu… 384 28.1 35.9
## 3 Ciência da Compu… Notu… 1169 15.4 32.3
## 4 Ciência da Compu… Vesp… 17 23.5 29.4
## 5 Engenharia da Co… Inte… 22 0 9.09
## 6 Engenharia da Co… Matu… 19 21.0 63.2
## 7 Engenharia da Co… Notu… 80 12.5 30
## 8 Sistemas de Info… Curs… 95 62.1 35.8
## 9 Sistemas de Info… Matu… 260 11.9 28.1
## 10 Sistemas de Info… Notu… 1514 13.5 25.4
## 11 Sistemas de Info… Vesp… 56 1.79 1.79
## # ℹ 2 more variables: perc_parcial_cotas <dbl>, perc_parcial_ampla <dbl>
# Criando gráfico de barras para visualizar a quantidade de bolsas por curso e turno
grafico_bolsas_turno <- ggplot(percentuais_bolsas,
aes(x = curso_busca,
y = bolsas_totais,
fill = turno)) +
geom_bar(stat = "identity", position = "dodge") +
labs(
title = "Distribuição do Total de Bolsas por Curso e Turno",
x = "Curso",
y = "Quantidade de Bolsas"
) +
scale_y_continuous() +
theme_bw() +
theme(
legend.position = "bottom",
axis.text.x = element_text(angle = 45, hjust = 1)
) +
facet_grid(~ turno)
grafico_bolsas_turno
De forma geral, o turno Noturno concentra a maior quantidade de bolsas ofertadas em todos os cursos analisados. Apesar disso, o percentual de bolsas destinadas a cotas integrais varia consideravelmente entre os cursos e modalidades, evidenciando diferentes perfis de distribuição conforme a estrutura do curso.