1 Questão

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.

2 Questão

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.

3 Questão

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.

4 Questão

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.