# Calculando estatísticas por região
resumo_regioes <- dados_cc_regioes %>%
group_by(region) %>%
summarise(
media = mean(mensalidade),
mediana = median(mensalidade),
desvio_padrao = sd(mensalidade),
n = n()
)
kable(resumo_regioes, digits = 2)
| region | media | mediana | desvio_padrao | n |
|---|---|---|---|---|
| NE | 712.73 | 742.8 | 243.96 | 31 |
| SE | 899.06 | 779.0 | 448.52 | 113 |
# Boxplot das mensalidades por região
ggplot(dados_cc_regioes, aes(x = region, y = mensalidade, fill = region)) +
geom_boxplot() +
theme_bw() +
labs(
title = "Distribuição das Mensalidades por Região",
x = "Região",
y = "Mensalidade (R$)",
fill = "Região"
) +
scale_fill_brewer(palette = "Set2")
# Realizando teste t para amostras independentes
teste_t <- t.test(
mensalidade ~ region,
data = dados_cc_regioes,
var.equal = FALSE
)
# Exibindo resultados do teste
cat("Resultado do Teste t:\n")
## Resultado do Teste t:
print(teste_t)
##
## Welch Two Sample t-test
##
## data: mensalidade by region
## t = -3.0631, df = 90.575, p-value = 0.002884
## alternative hypothesis: true difference in means between group NE and group SE is not equal to 0
## 95 percent confidence interval:
## -307.16124 -65.48913
## sample estimates:
## mean in group NE mean in group SE
## 712.7342 899.0594
Diferenças nas mensalidades:
Médias: Nordeste (NE): R$ 712,73 Sudeste (SE): R$ 899,06
Diferença nas médias: R$ 186,33 (SE é 26,1% mais cara)
Medianas: Nordeste (NE): R$ 742,80 Sudeste (SE): R$ 779,00 Diferença nas medianas: R$ 36,20 (SE é 4,9% mais cara)
Significância Estatística: O teste t realizado mostra que a diferença é estatisticamente significativa: p-valor = 0,002884 (< 0,05) t = -3,0631 Intervalo de confiança de 95%: [-307,16 a -65,49] Como o p-valor é menor que 0,05 e o intervalo de confiança não inclui zero, podemos concluir que a diferença entre as regiões é estatisticamente significativa.
Causas prováveis das diferenças: Existem vários fatores que podem explicar essa diferença:
Fatores Econômicos: Maior custo de vida no Sudeste Maior concentração de renda na região Maior desenvolvimento econômico regional
Fatores Educacionais: Maior concentração de universidades privadas tradicionais no Sudeste Maiores investimentos em infraestrutura e tecnologia Custos operacionais mais elevados (salários de professores, instalações, etc.)
Fatores de Mercado: Maior demanda por profissionais de TI no Sudeste Maior concentração de empresas de tecnologia Expectativa de salários mais altos após a formação
O boxplot mostra que: O Sudeste apresenta maior variabilidade nas mensalidades (maior dispersão). Existem mais outliers (pontos extremos) no Sudeste. A distribuição é assimétrica em ambas as regiões. É interessante notar que a diferença nas medianas (R$ 36,20) é menor que a diferença nas médias (R$ 186,33), o que sugere que os valores extremos (outliers) no Sudeste puxam a média para cima, mas não afetam tanto a mediana. Em conclusão, existe uma diferença estatisticamente significativa entre as mensalidades das duas regiões, sendo o Sudeste mais caro. Esta diferença é mais pronunciada quando olhamos para as médias do que para as medianas, sugerindo que algumas instituições do Sudeste cobram valores consideravelmente mais altos que a tendência central, possivelmente devido à sua reputação ou infraestrutura diferenciada.
# Calculando o valor total de mensalidade e total de bolsas por curso
top_cursos <- dff %>%
group_by(curso_busca) %>%
summarise(
valor_total_mensalidade = sum(mensalidade),
total_instituicoes = n(),
total_bolsas = sum(bolsa_integral_ampla + bolsa_integral_cotas +
bolsa_parcial_ampla + bolsa_parcial_cotas),
media_mensalidade = mean(mensalidade)
) %>%
arrange(desc(valor_total_mensalidade)) %>%
head(10)
kable(top_cursos, digits = 2)
| curso_busca | valor_total_mensalidade | total_instituicoes | total_bolsas | media_mensalidade |
|---|---|---|---|---|
| Administração | 1495415.1 | 2754 | NA | 543.00 |
| Direito | 1234375.6 | 1093 | NA | 1129.35 |
| Engenharia Civil | 1028389.5 | 906 | NA | 1135.09 |
| Ciências Contábeis | 1014847.3 | 2056 | NA | 493.60 |
| Educação Física | 963784.2 | 1528 | NA | 630.75 |
| Pedagogia | 945726.5 | 2555 | NA | 370.15 |
| Enfermagem | 904351.9 | 903 | NA | 1001.50 |
| Medicina | 888874.3 | 124 | NA | 7168.34 |
| Psicologia | 732045.4 | 647 | NA | 1131.45 |
| Engenharia de Produção | 727005.5 | 803 | NA | 905.36 |
# Preparando os dados para o gráfico
dados_bolsas <- dff %>%
group_by(curso_busca) %>%
summarise(
mensalidade_media = mean(mensalidade),
total_bolsas = sum(bolsa_integral_ampla + bolsa_integral_cotas +
bolsa_parcial_ampla + bolsa_parcial_cotas)
)
# Gráfico de dispersão
ggplot(dados_bolsas, aes(x = mensalidade_media, y = total_bolsas)) +
geom_point(alpha = 0.5) +
geom_smooth(method = "lm", se = TRUE) +
theme_bw() +
labs(
title = "Relação entre Mensalidade Média e Total de Bolsas por Curso",
x = "Mensalidade Média (R$)",
y = "Total de Bolsas (Todos os Tipos)"
)
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 287 rows containing non-finite outside the scale range
## (`stat_smooth()`).
## Warning: Removed 287 rows containing missing values or values outside the scale range
## (`geom_point()`).
# Correlação
correlacao <- cor(dados_bolsas$mensalidade_media, dados_bolsas$total_bolsas)
cat("\nCoeficiente de Correlação:", round(correlacao, 3))
##
## Coeficiente de Correlação: NA
Top 10 cursos com maior valor total de mensalidade:
1 - Administração: R$ 1.495.415,10 (2.754 bolsas) 2 - Direito: R$ 1.234.375,60 (1.093 bolsas) 3 - Engenharia Civil: R$ 1.028.389,50 (906 bolsas) 4 - Ciências Contábeis: R$ 1.014.847,30 (2.056 bolsas) 5 - Educação Física: R$ 963.784,20 (1.528 bolsas) 6 - Pedagogia: R$ 945.726,50 (2.555 bolsas) 7 - Enfermagem: R$ 904.351,90 (903 bolsas) 8 - Medicina: R$ 888.874,30 (124 bolsas) 9 - Psicologia: R$ 732.045,40 (647 bolsas) 10 - Engenharia de Produção: R$ 727.005,50 (803 bolsas)
Relação entre valor total de mensalidade e total de bolsas:
Correlação Negativa Fraca: O gráfico mostra uma tendência levemente negativa (linha azul descendente) Isso indica que, em geral, cursos com mensalidades mais altas tendem a ter menos bolsas
Padrões Interessantes: Cursos como Administração, Pedagogia e Ciências Contábeis apresentam alto número de bolsas (>2.000) com mensalidades médias relativamente baixas (R$ 543,00, R$ 370,15 e R$ 493,60 respectivamente) Medicina tem a maior média de mensalidade (R$ 7.168,34) mas um número baixo de bolsas (124) A maioria dos cursos se concentra na região inferior do gráfico, com menos de 1.000 bolsas
Justificativa da Relação: A relação inversa entre mensalidade e número de bolsas pode ser explicada por: Política do ProUni de democratizar o acesso ao ensino superior; Maior disponibilidade de bolsas em cursos mais acessíveis financeiramente; Limitações orçamentárias do programa para cursos mais caros; Estratégias das instituições de ensino em distribuir mais bolsas em cursos de menor custo operacional;
Observações Adicionais: Cursos tradicionais (Administração, Direito) lideram em valor total devido ao alto volume de bolsas Cursos da área de saúde (Medicina, Enfermagem) aparecem com altas mensalidades médias Cursos de licenciatura (Pedagogia, Educação Física) têm mensalidades médias mais baixas mas alto número de bolsas
Portanto, é possível observar que existe uma relação inversa entre o valor da mensalidade e o total de bolsas, mas essa relação não é forte ou determinística. O valor total de mensalidade parece ser mais influenciado pelo volume de bolsas do que pelo valor individual da mensalidade, como evidenciado pelos casos de Administração e Pedagogia, que lideram o ranking principalmente devido ao alto número de bolsas oferecidas.
# Primeiro, vamos ver os dados brutos dos cursos tecnológicos da PB
dados_brutos_pb <- dff %>%
filter(
uf_busca == "PB",
grau == "Tecnológico"
) %>%
select(curso_busca, grau, bolsa_integral_ampla, bolsa_integral_cotas,
bolsa_parcial_ampla, bolsa_parcial_cotas)
# Mostrando os dados brutos
print("Dados brutos dos cursos tecnológicos da PB:")
## [1] "Dados brutos dos cursos tecnológicos da PB:"
print(dados_brutos_pb)
## # A tibble: 167 × 6
## curso_busca grau bolsa_integral_ampla bolsa_integral_cotas
## <chr> <chr> <dbl> <dbl>
## 1 Marketing Tecnoló… 2 3
## 2 Gestão de Recursos Humanos Tecnoló… 2 3
## 3 Gestão Financeira Tecnoló… 2 3
## 4 Jogos Digitais Tecnoló… 1 2
## 5 Gastronomia Tecnoló… 1 1
## 6 Gastronomia Tecnoló… 2 3
## 7 Gastronomia Tecnoló… 2 2
## 8 Gastronomia Tecnoló… 2 2
## 9 Gastronomia Tecnoló… 1 1
## 10 Radiologia Tecnoló… 13 4
## # ℹ 157 more rows
## # ℹ 2 more variables: bolsa_parcial_ampla <dbl>, bolsa_parcial_cotas <dbl>
# Agora vamos fazer a agregação correta
cursos_pb_tec <- dados_brutos_pb %>%
group_by(curso_busca) %>%
summarise(
total_bolsas = sum(bolsa_integral_ampla, na.rm = TRUE) +
sum(bolsa_integral_cotas, na.rm = TRUE) +
sum(bolsa_parcial_ampla, na.rm = TRUE) +
sum(bolsa_parcial_cotas, na.rm = TRUE),
bolsas_integrais_ampla = sum(bolsa_integral_ampla, na.rm = TRUE),
bolsas_integrais_cotas = sum(bolsa_integral_cotas, na.rm = TRUE),
bolsas_parciais_ampla = sum(bolsa_parcial_ampla, na.rm = TRUE),
bolsas_parciais_cotas = sum(bolsa_parcial_cotas, na.rm = TRUE)
) %>%
arrange(desc(total_bolsas))
# Mostrando os resultados em uma tabela formatada
kable(cursos_pb_tec,
col.names = c("Curso", "Total de Bolsas", "Integrais Ampla",
"Integrais Cotas", "Parciais Ampla", "Parciais Cotas"),
digits = 0)
| Curso | Total de Bolsas | Integrais Ampla | Integrais Cotas | Parciais Ampla | Parciais Cotas |
|---|---|---|---|---|---|
| Gestão de Recursos Humanos | 124 | 20 | 31 | 70 | 3 |
| Segurança no Trabalho | 110 | 7 | 11 | 91 | 1 |
| Redes de Computadores | 106 | 10 | 16 | 80 | 0 |
| Gestão da Tecnologia da Informação | 99 | 6 | 12 | 80 | 1 |
| Negócios Imobiliários | 95 | 4 | 6 | 85 | 0 |
| Logística | 80 | 3 | 9 | 67 | 1 |
| Design de Interiores | 53 | 10 | 13 | 30 | 0 |
| Radiologia | 53 | 30 | 12 | 10 | 1 |
| Gestão Comercial | 27 | 5 | 14 | 3 | 5 |
| Marketing | 27 | 8 | 15 | 0 | 4 |
| Gastronomia | 24 | 10 | 13 | 0 | 1 |
| Gestão Financeira | 22 | 6 | 14 | 0 | 2 |
| Análise e Desenvolvimento de Sistemas | 19 | 5 | 12 | 0 | 2 |
| Estética e Cosmética | 19 | 6 | 7 | 6 | 0 |
| Gestão Pública | 14 | 3 | 9 | 0 | 2 |
| Construção de Edifícios | 9 | 1 | 3 | 2 | 3 |
| Sistemas para Internet | 9 | 3 | 6 | 0 | 0 |
| Design Gráfico | 6 | 2 | 4 | 0 | 0 |
| Gestão Ambiental | 6 | 1 | 4 | 0 | 1 |
| Design de Moda | 5 | 1 | 4 | 0 | 0 |
| Gestão Hospitalar | 4 | 1 | 2 | 0 | 1 |
| Processos Gerenciais | 4 | 0 | 1 | 1 | 2 |
| Produção Publicitária | 4 | 2 | 2 | 0 | 0 |
| Secretariado | 4 | 0 | 1 | 0 | 3 |
| Eventos | 3 | 1 | 2 | 0 | 0 |
| Gestão da Produção Industrial | 3 | 0 | 1 | 1 | 1 |
| Jogos Digitais | 3 | 1 | 2 | 0 | 0 |
| Comércio Exterior | 2 | 0 | 0 | 0 | 2 |
| Embelezamento e Imagem Pessoal | 2 | 1 | 1 | 0 | 0 |
| Gestão de Empreendimentos Esportivos | 2 | 1 | 1 | 0 | 0 |
| Banco de Dados | 1 | 0 | 0 | 0 | 1 |
| Gestão da Qualidade | 1 | 0 | 0 | 0 | 1 |
| Gestão de Serviços Jurídicos e Notariais | 1 | 0 | 1 | 0 | 0 |
| Gestão do Agronegócio | 1 | 0 | 0 | 0 | 1 |
# Visualização dos cursos por total de bolsas
ggplot(cursos_pb_tec,
aes(x = reorder(curso_busca, total_bolsas), y = total_bolsas)) +
geom_col(fill = "steelblue") +
coord_flip() +
theme_bw() +
labs(
title = "Cursos Tecnológicos na Paraíba por Total de Bolsas",
x = "Curso",
y = "Total de Bolsas"
)
# Visualização da distribuição dos tipos de bolsas
dados_tipos_bolsas <- cursos_pb_tec %>%
pivot_longer(
cols = c(bolsas_integrais_ampla, bolsas_integrais_cotas,
bolsas_parciais_ampla, bolsas_parciais_cotas),
names_to = "tipo_bolsa",
values_to = "quantidade"
)
ggplot(dados_tipos_bolsas,
aes(x = reorder(curso_busca, quantidade),
y = quantidade,
fill = tipo_bolsa)) +
geom_col(position = "stack") +
coord_flip() +
theme_bw() +
labs(
title = "Distribuição dos Tipos de Bolsas nos Cursos Tecnológicos - PB",
x = "Curso",
y = "Quantidade de Bolsas",
fill = "Tipo de Bolsa"
) +
scale_fill_brewer(palette = "Set2",
labels = c("Integral Ampla", "Integral Cotas",
"Parcial Ampla", "Parcial Cotas"))
A análise dos cursos tecnológicos na Paraíba revela:
Distribuição Total de Bolsas:
Os três cursos com maior oferta de bolsas são: 1 - Gestão de Recursos Humanos (124 bolsas) 2 - Segurança no Trabalho (110 bolsas) 3 - Redes de Computadores (106 bolsas)
Existe uma grande variação no total de bolsas, desde 124 até apenas 1 bolsa A maioria dos cursos (20 dos 34) oferece menos de 20 bolsas no total
# Filtrando os cursos de computação
cursos_comp <- dff %>%
filter(curso_busca %in% c(
"Ciência da Computação",
"Engenharia da Computação",
"Engenharia de Computação",
"Ciências da Computação",
"Sistemas de Informação"
))
# Calculando percentuais por modalidade para cada curso
modalidades_comp <- cursos_comp %>%
group_by(curso_busca, turno) %>%
summarise(
total_bolsas = sum(bolsa_integral_ampla + bolsa_integral_cotas +
bolsa_parcial_ampla + bolsa_parcial_cotas, na.rm = TRUE)
) %>%
group_by(curso_busca) %>%
mutate(
percentual = (total_bolsas / sum(total_bolsas)) * 100
) %>%
arrange(curso_busca, desc(percentual))
## `summarise()` has grouped output by 'curso_busca'. You can override using the
## `.groups` argument.
# Mostrando resultados em tabela
kable(modalidades_comp,
col.names = c("Curso", "Modalidade", "Total de Bolsas", "Percentual (%)"),
digits = 2)
| Curso | Modalidade | Total de Bolsas | Percentual (%) |
|---|---|---|---|
| Ciência da Computação | Noturno | 191 | 74.03 |
| Ciência da Computação | Matutino | 67 | 25.97 |
| Ciência da Computação | Integral | 0 | 0.00 |
| Ciência da Computação | Vespertino | 0 | 0.00 |
| Ciências da Computação | Noturno | 11 | 55.00 |
| Ciências da Computação | Matutino | 9 | 45.00 |
| Engenharia da Computação | Integral | 0 | NaN |
| Engenharia da Computação | Matutino | 0 | NaN |
| Engenharia da Computação | Noturno | 0 | NaN |
| Engenharia de Computação | Noturno | 85 | 55.56 |
| Engenharia de Computação | Matutino | 54 | 35.29 |
| Engenharia de Computação | Curso a Distância | 14 | 9.15 |
| Engenharia de Computação | Integral | 0 | 0.00 |
| Engenharia de Computação | Vespertino | 0 | 0.00 |
| Sistemas de Informação | Noturno | 318 | 67.95 |
| Sistemas de Informação | Matutino | 90 | 19.23 |
| Sistemas de Informação | Vespertino | 56 | 11.97 |
| Sistemas de Informação | Curso a Distância | 4 | 0.85 |
# Visualização em gráfico de barras empilhadas
ggplot(modalidades_comp,
aes(x = curso_busca, y = percentual, fill = turno)) +
geom_bar(stat = "identity", position = "stack") +
coord_flip() +
theme_bw() +
labs(
title = "Distribuição de Bolsas por Modalidade nos Cursos de Computação",
x = "Curso",
y = "Percentual de Bolsas (%)",
fill = "Modalidade"
) +
scale_fill_brewer(palette = "Set3")
## Warning: Removed 3 rows containing missing values or values outside the scale range
## (`geom_bar()`).
# Calculando totais gerais para comparação
totais_modalidade <- cursos_comp %>%
group_by(turno) %>%
summarise(
total_bolsas = sum(bolsa_integral_ampla + bolsa_integral_cotas +
bolsa_parcial_ampla + bolsa_parcial_cotas, na.rm = TRUE)
) %>%
mutate(
percentual = (total_bolsas / sum(total_bolsas)) * 100
) %>%
arrange(desc(percentual))
# Mostrando totais gerais
cat("\nPercentual total por modalidade (todos os cursos de computação):\n")
##
## Percentual total por modalidade (todos os cursos de computação):
kable(totais_modalidade,
col.names = c("Modalidade", "Total de Bolsas", "Percentual (%)"),
digits = 2)
| Modalidade | Total de Bolsas | Percentual (%) |
|---|---|---|
| Noturno | 605 | 67.30 |
| Matutino | 220 | 24.47 |
| Vespertino | 56 | 6.23 |
| Curso a Distância | 18 | 2.00 |
| Integral | 0 | 0.00 |
No contexto dos dados analisados, é importante destacar que há diferenças de nomenclatura entre os cursos de “Ciência da Computação”, “Ciências da Computação”, “Engenharia da Computação” e “Engenharia de Computação”. Essas variações refletem tanto particularidades institucionais quanto registros distintos no sistema de oferta de bolsas. No gráfico apresentado, cada uma dessas denominações aparece de forma separada, o que pode gerar pequenas diferenças na distribuição das bolsas por modalidade. Portanto, ao interpretar os resultados, é fundamental considerar que, embora os nomes sejam semelhantes e muitas vezes se refiram a formações equivalentes, eles foram tratados individualmente na análise para garantir a fidelidade aos dados originais.
Dito isto, é possível afirmar que existe uma modalidade predominante. Observando os percentuais, fica claro que: A modalidade Noturno é predominante nos cursos de Ciência da Computação, Engenharia da Computação e Sistemas de Informação, representando a maior parte das bolsas ofertadas (no seu exemplo, 67,3% das bolsas são para o turno Noturno). As demais modalidades (Matutino, Vespertino, Curso a Distância e Integral) têm percentuais bem menores, sendo que em alguns casos (como Integral), o percentual é zero, o que pode ser justificado por uma questão de modalidades dos cursos de faculdade particulares.