library (readr)
library (dplyr)
## 
## Anexando pacote: 'dplyr'
## Os seguintes objetos são mascarados por 'package:stats':
## 
##     filter, lag
## Os seguintes objetos são mascarados por 'package:base':
## 
##     intersect, setdiff, setequal, union
library (ggplot2)

dff<- read_csv("C:/LabDadosR/cursos-prouni.csv")
## Rows: 41447 Columns: 20
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr  (9): grau, turno, curso_busca, cidade_busca, uf_busca, cidade_filtro, u...
## dbl (11): mensalidade, bolsa_integral_cotas, bolsa_integral_ampla, bolsa_par...
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
dp <- dff %>% 
  
  #Filtra Curso de ciência da computação
  filter(curso_busca=="Ciência da Computação")
  
  
  # Filtrar por regiões Nordeste e Sudeste
  cursos_cc_ne <- dp %>% filter(uf_busca %in% c("AL", "BA", "CE", "MA", "PB", "PE", "PI", "RN", "SE"))
  
  cursos_cc_se <- dp %>% filter(uf_busca %in% c("ES", "MG", "RJ", "SP"))

  
  

# Calcular médias e medianas das mensalidades
media_ne <- mean(cursos_cc_ne$mensalidade)
mediana_ne <- median(cursos_cc_ne$mensalidade)
media_se <- mean(cursos_cc_se$mensalidade)
mediana_se <- median(cursos_cc_se$mensalidade)




# Teste t para comparar as médias
teste_t <- t.test(cursos_cc_ne$mensalidade, cursos_cc_se$mensalidade, na.rm = TRUE)

# Exibir resultado do teste t
print(teste_t)
## 
##  Welch Two Sample t-test
## 
## data:  cursos_cc_ne$mensalidade and cursos_cc_se$mensalidade
## t = -3.0631, df = 90.575, p-value = 0.002884
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -307.16124  -65.48913
## sample estimates:
## mean of x mean of y 
##  712.7342  899.0594
# Calcular a diferença entre médias e medianas
dif_media <- media_se - media_ne
dif_mediana <- mediana_se - mediana_ne


resultados <- data.frame(
  Regiao = c("Nordeste", "Nordeste", "Sudeste", "Sudeste"),
  Tipo = c("Média", "Mediana", "Média", "Mediana"),
  Mensalidade = c(media_ne, mediana_ne, media_se, mediana_se)

)


# Plotar o gráfico de barras
ggplot(resultados, aes(x = Regiao, y = Mensalidade, fill = Tipo)) +
  geom_bar(stat = "identity", position = "dodge") +
  
  geom_text(aes(label = round(Mensalidade, 2)), 
            position = position_dodge(width = 0.9), 
            vjust = -0.5) +
  
  labs(title = "Mensalidades Médias e Medianas dos Cursos de Ciência da Computação",
       x = "Região",
       y = "Mensalidade (R$)",
       fill = "Tipo") +
  theme_minimal()

#Questão02

# Ler o arquivo CSV
df <- read.csv("C:/LabDadosR/cursos-prouni.csv")

# Calcular o total de bolsas para cada curso
df$total_bolsas <- rowSums(df[, c("bolsa_integral_cotas", "bolsa_integral_ampla", "bolsa_parcial_cotas", "bolsa_parcial_ampla")], na.rm = TRUE)



grouped <- df %>%
  group_by(curso_busca) %>%
  summarise(mensalidade_total = sum(mensalidade, na.rm = TRUE),
            total_bolsas = sum(total_bolsas, na.rm = TRUE))

# Calcular a mensalidade por bolsa
grouped <- grouped %>%
  mutate(mensalidade_por_bolsa = mensalidade_total / total_bolsas)

# Selecionar os top 10 cursos com maior valor de mensalidade por bolsa
top_10_cursos <- grouped %>%
  arrange(desc(mensalidade_por_bolsa)) %>%
  head(10)

# Exibir os top 10 cursos
print("Top 10 cursos com maior valor de mensalidade pelo total de bolsas:")
## [1] "Top 10 cursos com maior valor de mensalidade pelo total de bolsas:"
print(top_10_cursos)
## # A tibble: 10 × 4
##    curso_busca              mensalidade_total total_bolsas mensalidade_por_bolsa
##    <chr>                                <dbl>        <dbl>                 <dbl>
##  1 Música - Composição                  2211             1                 2211 
##  2 Engenharia de Materiais…             4108             2                 2054 
##  3 Comunicação Social - Ra…             3458             2                 1729 
##  4 Artes Cênicas                        3807             3                 1269 
##  5 Comunicação Social - Ci…             8347             7                 1192.
##  6 Gestão de Equinocultura              1153             1                 1153 
##  7 Design de Games                      2180             2                 1090 
##  8 Produção Cênica                       939.            1                  939.
##  9 Geologia                             1762.            2                  881.
## 10 Design Digital                       3090             4                  772.
# Calcular a correlação entre o valor total de mensalidade e o total de bolsas
correlacao <- cor(grouped$mensalidade_total, grouped$total_bolsas, use = "complete.obs")

# Exibir a correlação
print("Correlação entre o valor total de mensalidade e o total de bolsas por curso:")
## [1] "Correlação entre o valor total de mensalidade e o total de bolsas por curso:"
print(correlacao)
## [1] 0.9251574
# Criar o gráfico de barras
ggplot(top_10_cursos, aes(x = reorder(curso_busca, -mensalidade_por_bolsa), y = mensalidade_por_bolsa)) +
  geom_bar(stat = "identity", fill = "steelblue") +
  geom_text(aes(label = round(mensalidade_por_bolsa, 2)), vjust = -0.5, color = "white") +
  geom_text(aes(label = round(total_bolsas, 2)), vjust = -0.5, color = "black") +
  labs(title = "Top 10 Cursos com Maior Valor de Mensalidade por Bolsa",
       x = "Curso",
       y = "Mensalidade por Bolsa (R$)") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

#Questão03

# Ler o arquivo CSV
df <- read.csv("C:/LabDadosR/cursos-prouni.csv")

# Filtrar os cursos tecnológicos do estado da Paraíba
cursos_tecnologicos_pb <- df %>%
  filter(grau == "Tecnológico" & uf_busca == "PB")

# Calcular o total de bolsas para cada curso
cursos_tecnologicos_pb <- cursos_tecnologicos_pb %>%
  mutate(total_bolsas = rowSums(select(., bolsa_integral_cotas, bolsa_integral_ampla, bolsa_parcial_cotas, bolsa_parcial_ampla), na.rm = TRUE))

# Agrupar por curso e calcular o total de bolsas de cada tipo
bolsas_por_curso <- cursos_tecnologicos_pb %>%
  group_by(curso_busca) %>%
  summarise(
    total_bolsas = sum(total_bolsas, na.rm = TRUE),
    bolsa_integral_cotas = sum(bolsa_integral_cotas, na.rm = TRUE),
    bolsa_integral_ampla = sum(bolsa_integral_ampla, na.rm = TRUE),
    bolsa_parcial_cotas = sum(bolsa_parcial_cotas, na.rm = TRUE),
    bolsa_parcial_ampla = sum(bolsa_parcial_ampla, na.rm = TRUE)
  ) %>%
  arrange(desc(total_bolsas))


# Criar o gráfico de barras
ggplot(bolsas_por_curso, aes(x = reorder(curso_busca, -total_bolsas), y = total_bolsas)) +
  geom_bar(stat = "identity", fill = "orange") +
  geom_text(aes(label = total_bolsas), vjust = -0.5, color = "white") +
  geom_text(aes(label = round(total_bolsas, 2)), vjust = -0.5, color = "black") +
  labs(title = "Cursos Tecnológicos da Paraíba com Mais Bolsas de Estudo",
       x = "Curso",
       y = "Total de Bolsas") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 90, hjust = 1))

#Questão04

# Ler o arquivo CSV
df <- read.csv("C:/LabDadosR/cursos-prouni.csv")

# Filtrar os cursos de interesse
cursos_interesse <- df %>%
  filter(curso_busca %in% c("Ciência da Computação", "Engenharia da Computação", "Sistemas de Informação"))

# Calcular o total de bolsas para cada curso e modalidade
bolsas_por_modalidade <- cursos_interesse %>%
  group_by(curso_busca, turno) %>%
  summarise(
    total_bolsas = 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)
  )
## `summarise()` has grouped output by 'curso_busca'. You can override using the
## `.groups` argument.
# Calcular o percentual de bolsas para cada modalidade por curso
percentual_bolsas <- bolsas_por_modalidade %>%
  group_by(curso_busca) %>%
  mutate(percentual = total_bolsas / sum(total_bolsas) * 100)

# Exibir os resultados
print("Percentual de bolsas ofertadas para cada modalidade por curso:")
## [1] "Percentual de bolsas ofertadas para cada modalidade por curso:"
print(percentual_bolsas)
## # A tibble: 11 × 4
## # Groups:   curso_busca [3]
##    curso_busca              turno             total_bolsas percentual
##    <chr>                    <chr>                    <int>      <dbl>
##  1 Ciência da Computação    Integral                    20       1.26
##  2 Ciência da Computação    Matutino                   384      24.2 
##  3 Ciência da Computação    Noturno                   1169      73.5 
##  4 Ciência da Computação    Vespertino                  17       1.07
##  5 Engenharia da Computação Integral                    22      18.2 
##  6 Engenharia da Computação Matutino                    19      15.7 
##  7 Engenharia da Computação Noturno                     80      66.1 
##  8 Sistemas de Informação   Curso a Distância           95       4.94
##  9 Sistemas de Informação   Matutino                   260      13.5 
## 10 Sistemas de Informação   Noturno                   1514      78.6 
## 11 Sistemas de Informação   Vespertino                  56       2.91
# Criar o gráfico de barras
ggplot(percentual_bolsas, aes(x = turno, y = percentual, fill = curso_busca)) +
  geom_text(aes(label = round(percentual, 2)), 
            position = position_dodge(width = 0.9), 
            vjust = -0.5) +
  geom_bar(stat = "identity", position = "dodge") +
  labs(title = "Percentual de Bolsas Ofertadas por Modalidade",
       x = "Modalidade",
       y = "Percentual de Bolsas (%)",
       fill = "Curso") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))