Library

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(readr)
library(purrr)
#library(GGally)
#library(pscl)
library(broom)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.4.4     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(modelr)
## 
## Attaching package: 'modelr'
## 
## The following object is masked from 'package:broom':
## 
##     bootstrap
library(here)
## here() starts at /home/laryssamilanez/Laryssa/NiloPecanha-Laryssa
library(skimr)
library(gcookbook)
library(lubridate)
library(rio)
library(tidyr)

Nessa Etapa será realizada a leitura dos Dataframes contendo os dados referentes aos anos de 2017 a 2021 disponibilizados pelo MEC e a partir deles iremos filtrar apenas os dados do Subsequente dos Institutos federais do Brasil e separá-los por sexo e pelos cursos de Técnico em Manutenção e Suporte em Informática e Técnico em Informática.

I - Lendo o CSV e criando os dataframes de 2017 para a análise

dado_2017_sub <- read_csv2("2017-microdados-matriculas.csv")
## ℹ Using "','" as decimal and "'.'" as grouping mark. Use `read_delim()` for more control.
## Rows: 1031798 Columns: 25
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ";"
## chr (18): Cor / Raça, Dt Data Fim Previsto, Data de Inicio do Ciclo, Dt Ocor...
## dbl  (7): Carga Horaria, Carga Horaria Minima, Código do Ciclo de Matrícula,...
## 
## ℹ 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.
dado_2017_sub <- dado_2017_sub %>% 
  filter(`Tipo de Oferta`=="Subsequente") %>%
  filter(`Tipo de Curso`=="Técnico") %>%
  filter(str_detect(`Instituição`, "^IF"))%>%
  mutate(data = as.Date(`Data de Inicio do Ciclo`,format = '%d/%m/%Y'), Ano = year(data)) %>%
  mutate(`Situação de Matrícula` = ifelse(`Situação de Matrícula`== "Em curso" & `Ano`=="2017", "Ingresso", `Situação de Matrícula`))%>%
  mutate(`Sg Sexo` = ifelse(`Sg Sexo`=="F", "Feminino", "Masculino"), ano = 2017) %>%
  rename(Sexo=`Sg Sexo`)
print(dado_2017_sub)
## # A tibble: 234,578 × 28
##    `Carga Horaria` `Carga Horaria Minima` Código do Ciclo de Ma…¹ `Co Matricula`
##              <dbl>                  <dbl>                   <dbl>          <dbl>
##  1            1000                    800                 1994900       65238226
##  2            1000                    800                 1994900       65238256
##  3            1000                    800                 1994900       65238260
##  4            1000                    800                 1994900       65238264
##  5            1000                    800                 1994900       65238274
##  6            1000                    800                 1994900       65238328
##  7            1000                    800                 1994900       65238338
##  8            1181                   1000                 1858699       61202546
##  9             900                    800                 2021307       66660571
## 10             900                    800                 2021307       66660569
## # ℹ 234,568 more rows
## # ℹ abbreviated name: ¹​`Código do Ciclo de Matrícula`
## # ℹ 24 more variables: `Cor / Raça` <chr>, `Dt Data Fim Previsto` <chr>,
## #   `Data de Inicio do Ciclo` <chr>, `Dt Ocorrencia Matricula` <chr>,
## #   `Eixo Tecnológico` <chr>, `Fator Esforco Curso` <dbl>,
## #   `Mes De Ocorrencia` <chr>, `Modalidade Ensino` <chr>,
## #   `Nome de Curso` <chr>, `Fonte de financiamento` <chr>, …
# Separando os dados entre mulheres e homens para o ano de 2017
fem17_sub <- dado_2017_sub%>%
  filter(`Sexo` == "Feminino") 
#print(fem17_sub)

## Separando as mulheres por curso para o ano de 2017
manu_mulher17_sub <- fem17_sub%>%
  filter(`Nome de Curso` == "Técnico em Manutenção e Suporte em Informática")
#print(manu_mulher17_sub)

infor_mulher17_sub <- fem17_sub%>%
  filter(`Nome de Curso` == "Técnico em Informática")
#print(infor_mulher17_sub)

#Fazendo a parte masculina
mas17_sub <- dado_2017_sub%>%
  filter(`Sexo` == "Masculino") 
#print(mas17_sub)

## Separando os homens por curso para o ano de 2017
manu_homem17_sub <- mas17_sub%>%
  filter(`Nome de Curso` == "Técnico em Manutenção e Suporte em Informática")
#print(manu_homem17_sub)

infor_homem17_sub <- mas17_sub%>%
  filter(`Nome de Curso` == "Técnico em Informática")
#print(infor_Homem17_sub)
#unique(dado_2017_sub$`Nome de Curso`)

II - Lendo o CSV e criando os dataframes de 2018 para a análise

dado_2018_sub <- read_csv2("2018-microdados-matriculas.csv") 
## ℹ Using "','" as decimal and "'.'" as grouping mark. Use `read_delim()` for more control.
## Rows: 964593 Columns: 35
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ";"
## chr (25): Sexo, Renda Familiar, Cor / Raça, Faixa Etria, Data de Ocorrncia d...
## dbl (10): Idade, Cdigo da Matrcula, Código do Ciclo de Matrícula, Vagas Ofer...
## 
## ℹ 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.
dado_2018_sub <- dado_2018_sub %>% 
  filter(`Tipo de Oferta`=="Subsequente") %>%
  filter(`Tipo de Curso`=="Técnico") %>%
  filter(str_detect(`Instituição`, "^IF"))%>%
  mutate(data = as.Date(`Data de Inicio do Ciclo`,format = '%d/%m/%Y'), Ano = year(data)) %>%
  mutate(`Situação de Matrícula` = ifelse(`Situação de Matrícula`== "Em curso" & `Ano`=="2018", "Ingresso", `Situação de Matrícula`))%>%
  mutate(`Sexo` = ifelse(`Sexo`=="F", "Feminino", "Masculino"), ano = 2018) %>% 
  rename(Sexo=`Sexo`)
print(dado_2018_sub)
## # A tibble: 171,787 × 38
##    Sexo    `Renda Familiar` `Cor / Raça` Idade `Faixa Etria` `Cdigo da Matrcula`
##    <chr>   <chr>            <chr>        <dbl> <chr>                       <dbl>
##  1 Femini… 0,5<RFP<=1       Preta           22 20 a 24 anos             66751427
##  2 Mascul… NO DECLARADA     Preta           23 20 a 24 anos             66751425
##  3 Mascul… 0<RFP<=0,5       Preta           25 25 a 29 anos             66751411
##  4 Femini… 0,5<RFP<=1       Preta           37 35 a 39 anos             66751403
##  5 Mascul… 0,5<RFP<=1       Preta           27 25 a 29 anos             66751395
##  6 Mascul… 0<RFP<=0,5       Preta           36 35 a 39 anos             66726700
##  7 Mascul… 0<RFP<=0,5       Preta           23 20 a 24 anos             66724528
##  8 Mascul… 0<RFP<=0,5       Preta           24 20 a 24 anos             66724526
##  9 Femini… NO DECLARADA     Preta           20 20 a 24 anos             66704102
## 10 Femini… 0,5<RFP<=1       Preta           21 20 a 24 anos             66704300
## # ℹ 171,777 more rows
## # ℹ 32 more variables: `Data de Ocorrncia da Matrcula` <chr>,
## #   `Situação de Matrícula` <chr>, `Categoria de Situao` <chr>,
## #   `Ms de Ocorrncia da Situao` <chr>, Turno <chr>,
## #   `Código do Ciclo de Matrícula` <dbl>, `Data de Inicio do Ciclo` <chr>,
## #   `Data de Fim Previsto do Ciclo` <chr>, `Vagas Ofertadas` <dbl>,
## #   `Total de Inscritos` <dbl>, `Fonte de Financiamento` <chr>, …
# Separando os dados entre mulheres e homens para o ano de 2018
fem18_sub <- dado_2018_sub%>%
  filter(`Sexo` == "Feminino") 
#print(fem18_sub_sub)

## Separando as mulheres por curso para o ano de 2018
manu_mulher18_sub <- fem18_sub%>%
  filter(`Nome de Curso` == "Técnico em Manutenção e Suporte em Informática")
#print(manu_mulher18_sub)

infor_mulher18_sub <- fem18_sub%>%
  filter(`Nome de Curso` == "Técnico em Informática")
#print(infor_mulher18_sub)

#Fazendo a parte masculina
mas18_sub <- dado_2018_sub%>%
  filter(`Sexo` == "Masculino") 
#print(mas18_sub)

## Separando os homens por curso para o ano de 2018
manu_homem18_sub <- mas18_sub%>%
  filter(`Nome de Curso` == "Técnico em Manutenção e Suporte em Informática")
#print(manu_homem18_sub)

infor_homem18_sub <- mas18_sub%>%
  filter(`Nome de Curso` == "Técnico em Informática")
#print(infor_homem18_sub)

III - Lendo o CSV e criando os dataframes de 2019 para a análise

dado_2019_sub <- read_csv2("2019-microdados-matriculas.csv")
## ℹ Using "','" as decimal and "'.'" as grouping mark. Use `read_delim()` for more control.
## Rows: 1023303 Columns: 54
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ";"
## chr (23): Categoria da Situação, Cor / Raça, Data de Inicio do Ciclo, Data d...
## dbl (31): Teste, Carga Horaria, Carga Horaria Minima, Código do Ciclo de Mat...
## 
## ℹ 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.
dado_2019_sub <- dado_2019_sub %>% 
  filter(`Tipo de Oferta`=="Subsequente") %>%
  filter(`Tipo de Curso`=="Técnico") %>%
  filter(str_detect(`Instituição`, "^IF"))%>%
  mutate(data = as.Date(`Data de Inicio do Ciclo`,format = '%d/%m/%Y'), Ano = year(data)) %>%
  mutate(`Situação de Matrícula` = ifelse(`Situação de Matrícula`== "Em curso" & `Ano`=="2019", "Ingresso", `Situação de Matrícula`))%>%
  mutate(ano = 2019)%>%
  select(-Teste)
print(dado_2019_sub)
## # A tibble: 155,781 × 56
##    `Carga Horaria` `Carga Horaria Minima` `Categoria da Situação`
##              <dbl>                  <dbl> <chr>                  
##  1             825                   1000 Concluintes            
##  2             825                   1000 Concluintes            
##  3            1251                   1200 Concluintes            
##  4            1251                   1200 Evadidos               
##  5             800                    800 Concluintes            
##  6             800                    800 Concluintes            
##  7            1150                    800 Concluintes            
##  8            1367                   1200 Evadidos               
##  9            1367                   1200 Concluintes            
## 10            1367                   1200 Em curso               
## # ℹ 155,771 more rows
## # ℹ 53 more variables: `Código do Ciclo de Matrícula` <dbl>,
## #   `Código da Matricula` <dbl>, `Código da Unidade de Ensino - SISTEC` <dbl>,
## #   `Cod Unidade` <dbl>, `Cor / Raça` <chr>, `Data de Inicio do Ciclo` <chr>,
## #   `Data de Fim Previsto do Ciclo` <chr>,
## #   `Data de Ocorrencia da Matricula` <chr>, `Eixo Tecnológico` <chr>,
## #   `Faixa Etária` <chr>, `Fator Esforco Curso` <dbl>, …
# Separando os dados entre mulheres e homens para o ano de 2019
fem19_sub <- dado_2019_sub%>%
  filter(`Sexo` == "Feminino") 
#print(fem19_sub)

## Separando as mulheres por curso para o ano de 2019
manu_mulher19_sub <- fem19_sub%>%
  filter(`Nome de Curso` == "Técnico em Manutenção e Suporte em Informática")
#print(manu_mulher19_sub)

infor_mulher19_sub <- fem19_sub%>%
  filter(`Nome de Curso` == "Técnico em Informática")
#print(infor_mulher19_sub)

# Fazendo a parte masculina
mas19_sub <- dado_2019_sub%>%
  filter(`Sexo` == "Masculino") 
#print(mas19_sub)

## Separando os homens por curso para o ano de 2019
manu_homem19_sub <- mas19_sub%>%
  filter(`Nome de Curso` == "Técnico em Manutenção e Suporte em Informática")
#print(manu_homem19_sub)

infor_homem19_sub <- mas19_sub%>%
  filter(`Nome de Curso` == "Técnico em Informática")
#print(infor_Homem19_sub)

IV - Lendo o CSV e criando os dataframes de 2020 para a análise

dado_2020_sub <- read_csv2("2020-microdados-matriculas.csv")
## ℹ Using "','" as decimal and "'.'" as grouping mark. Use `read_delim()` for more control.
## Rows: 1507476 Columns: 54
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ";"
## chr (24): Categoria de Situação, Cor/Raça, Data de Fim Previsto do Ciclo, Da...
## dbl (30): Carga Horaria, Carga Horaria Minima, Cod Unidade, Código da Matríc...
## 
## ℹ 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.
dado_2020_sub <- dado_2020_sub %>% 
  filter(`Tipo de Oferta`=="Integrado") %>%
  filter(`Tipo de Curso`=="Técnico") %>%
  filter(str_detect(`Instituição`, "^IF"))%>%
  mutate(data = as.Date(`Data de Inicio do Ciclo`,format = '%d/%m/%Y'), Ano = year(data)) %>%
  mutate(`Situação de Matrícula` = ifelse(`Situação de Matrícula`== "Em curso" & `Ano`=="2020", "Ingresso", `Situação de Matrícula`))%>%
  mutate(Sexo = ifelse(Sexo=="F", "Feminino", "Masculino"), ano = 2020)
print(dado_2020_sub)
## # A tibble: 243,270 × 57
##    `Carga Horaria` `Carga Horaria Minima` `Categoria de Situação` `Cod Unidade`
##              <dbl>                  <dbl> <chr>                           <dbl>
##  1            3182                    800 Concluintes                        17
##  2            3641                   1200 Concluintes                       279
##  3            3924                   1200 Em curso                          188
##  4            3306                    800 Evadidos                          201
##  5            3840                   1200 Concluintes                       297
##  6            3886                   1200 Concluintes                        89
##  7            3614                   1200 Evadidos                          520
##  8            3567                   1000 Evadidos                          125
##  9            3787                   1200 Concluintes                       234
## 10            3360                   1000 Concluintes                       233
## # ℹ 243,260 more rows
## # ℹ 53 more variables: `Cor/Raça` <chr>, `Código da Matrícula` <dbl>,
## #   `Código da Unidade de Ensino - SISTEC` <dbl>,
## #   `Código do Ciclo de Matrícula` <dbl>, `Código do Município com DV` <dbl>,
## #   `Data de Fim Previsto do Ciclo` <chr>, `Data de Inicio do Ciclo` <chr>,
## #   `Data de Ocorrência da Matrícula` <chr>, `Eixo Tecnológico` <chr>,
## #   `Faixa Etária` <chr>, `Fator Esforco Curso` <dbl>, …
# Separando os dados entre mulheres e homens para o ano de 2020
fem20_sub <- dado_2020_sub%>%
  filter(`Sexo` == "Feminino") 
#print(fem20_sub)

## Separando as mulheres por curso para o ano de 2020
manu_mulher20_sub <- fem20_sub%>%
  filter(`Nome de Curso` == "Técnico em Manutenção e Suporte em Informática")
#print(manu_mulher20_sub)

infor_mulher20_sub <- fem20_sub%>%
  filter(`Nome de Curso` == "Técnico em Informática")
#print(infor_mulher20_sub)

#Fazendo a parte masculina
mas20_sub <- dado_2020_sub%>%
  filter(`Sexo` == "Masculino") 
#print(mas20_sub)

## Separando os homens por curso para o ano de 2020
manu_homem20_sub <- mas20_sub%>%
  filter(`Nome de Curso` == "Técnico em Manutenção e Suporte em Informática")
#print(manu_homem20_sub)

infor_homem20_sub <- mas20_sub%>%
  filter(`Nome de Curso` == "Técnico em Informática")
#print(infor_homem20_sub)

V - Lendo o CSV e criando os dataframes de 2021 para a análise

dado_2021_sub <- read_csv2("2021 - Matriculas-novo.csv")
## ℹ Using "','" as decimal and "'.'" as grouping mark. Use `read_delim()` for more control.
## Rows: 1523346 Columns: 56
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ";"
## chr (24): Categoria da Situação, Cor / Raça, Data de Fim Previsto do Ciclo, ...
## dbl (32): Carga Horaria, Carga Horaria Mínima, Co Inst, Cod Unidade, Código ...
## 
## ℹ 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.
dado_2021_sub <- dado_2021_sub %>% 
  filter(`Tipo de Oferta`=="Integrado") %>%
  filter(`Tipo de Curso`=="Técnico") %>%
  filter(str_detect(`Instituição`, "^IF"))%>%
  mutate(data = as.Date(`Data de Inicio do Ciclo`,format = '%d/%m/%Y'), Ano = year(data)) %>%
  mutate(`Situação de Matrícula` = ifelse(`Situação de Matrícula`== "Em curso" & `Ano`=="2021", "Ingresso", `Situação de Matrícula`))%>%
  mutate(ano = 2021)
print(dado_2021_sub)
## # A tibble: 270,609 × 59
##    `Carga Horaria` `Carga Horaria Mínima` `Categoria da Situação` `Co Inst`
##              <dbl>                  <dbl> <chr>                       <dbl>
##  1            4091                   1200 Concluintes                 26416
##  2            3900                   1200 Em curso                    26416
##  3            4340                   1200 Concluintes                 26403
##  4            4360                   1200 Concluintes                 26403
##  5            3102                    800 Evadidos                    26416
##  6            3850                   1000 Concluintes                 26416
##  7            3900                   1200 Concluintes                 26416
##  8            3720                   1000 Concluintes                 26403
##  9            3720                   1000 Concluintes                 26403
## 10            3720                   1000 Concluintes                 26403
## # ℹ 270,599 more rows
## # ℹ 55 more variables: `Cod Unidade` <dbl>, `Cor / Raça` <chr>,
## #   `Código da Matricula` <dbl>, `Código da Unidade de Ensino - SISTEC` <dbl>,
## #   `Código do Ciclo Matricula` <dbl>, `Código do Município com DV` <dbl>,
## #   `Data de Fim Previsto do Ciclo` <chr>, `Data de Inicio do Ciclo` <chr>,
## #   `Data de Ocorrencia da Matricula` <chr>, `Eixo Tecnológico` <chr>,
## #   `Faixa Etária` <chr>, `Fator Esforço Curso` <dbl>, …
# Separando os dados entre mulheres e homens para o ano de 2021
fem21_sub <- dado_2021_sub%>%
  filter(`Sexo` == "Feminino") 
#print(fem21_sub)

## Separando as mulheres por curso para o ano de 2021
manu_mulher21_sub <- fem21_sub%>%
  filter(`Nome de Curso` == "Técnico em Manutenção e Suporte em Informática")
#print(manu_mulher21_sub)

infor_mulher21_sub <- fem21_sub%>%
  filter(`Nome de Curso` == "Técnico em Informática")
#print(infor_mulher21_sub)

#Fazendo a parte masculina
mas21_sub <- dado_2021_sub%>%
  filter(`Sexo` == "Masculino") 
#print(mas21_sub)

## Separando os homens por curso para o ano de 2021
manu_homem21_sub <- mas21_sub%>%
  filter(`Nome de Curso` == "Técnico em Manutenção e Suporte em Informática")
#print(manu_homem21_sub)

infor_homem21_sub <- mas21_sub%>%
  filter(`Nome de Curso` == "Técnico em Informática")
#print(infor_homem21_sub)

O último passo após a filtragem dos dados que serão o objeto de estudo da pesquisa será a união dos dataframes desenvolvidos, facilitando assim sua manupulação e análise posteriores.

VI - Unindo todos os dataframes criados e gerando um como todos os dados filtrados para a análise

#agrupando os dados e montando dos datasets por ano
dado_sub <- bind_rows(dado_2017_sub, dado_2018_sub, dado_2019_sub, dado_2020_sub, dado_2021_sub)
#print(dado_sub)

write.csv2(dado_sub, "dados_2017a2021_sub.csv")

#Dataset com os dados femininos para dos os anos
dado_mulher_sub <- bind_rows(fem17_sub, fem18_sub, fem19_sub, fem20_sub, fem21_sub)
#print(dado_mulher)

write.csv2(dado_mulher_sub, "dados_mulher2017a2021_sub.csv")

#Dataset com os dados femininos para o curso de Manutenção e Suporte em informática para todos os anos
dado_mulher_manu_sub <- bind_rows(manu_mulher17_sub, manu_mulher18_sub, manu_mulher19_sub, manu_mulher20_sub, manu_mulher21_sub)
print(dado_mulher_manu_sub)
## # A tibble: 6,764 × 94
##    `Carga Horaria` `Carga Horaria Minima` Código do Ciclo de Ma…¹ `Co Matricula`
##              <dbl>                  <dbl>                   <dbl>          <dbl>
##  1            1800                   1000                  347603       17797865
##  2            1200                   1000                 2045500       67881230
##  3            1200                   1000                 2045500       67881440
##  4            1200                   1000                 2045500       67881408
##  5            1200                   1000                 2045500       67881378
##  6            1000                   1000                 2152281       72241405
##  7            1000                   1000                 2152281       72241471
##  8            1000                   1000                 2152281       72241113
##  9            1000                   1000                 2152281       72241143
## 10            1000                   1000                 2152281       72241301
## # ℹ 6,754 more rows
## # ℹ abbreviated name: ¹​`Código do Ciclo de Matrícula`
## # ℹ 90 more variables: `Cor / Raça` <chr>, `Dt Data Fim Previsto` <chr>,
## #   `Data de Inicio do Ciclo` <chr>, `Dt Ocorrencia Matricula` <chr>,
## #   `Eixo Tecnológico` <chr>, `Fator Esforco Curso` <dbl>,
## #   `Mes De Ocorrencia` <chr>, `Modalidade Ensino` <chr>,
## #   `Nome de Curso` <chr>, `Fonte de financiamento` <chr>, …
write.csv2(dado_mulher_manu_sub, "dados_mulher_Manu2017a2021_sub.csv")

#Dataset com os dados femininos para o curso de informática para todos os anos
dado_mulher_info_sub <- bind_rows(infor_mulher17_sub, infor_mulher18_sub, infor_mulher19_sub, infor_mulher20_sub, infor_mulher21_sub)
print(dado_mulher_info_sub)
## # A tibble: 48,964 × 94
##    `Carga Horaria` `Carga Horaria Minima` Código do Ciclo de Ma…¹ `Co Matricula`
##              <dbl>                  <dbl>                   <dbl>          <dbl>
##  1            1250                   1000                 1602702       53434403
##  2            1380                   1000                 2163385       72761371
##  3            1380                   1000                 2163385       72761355
##  4            1380                   1000                 2163385       72761369
##  5            1380                   1000                 2163385       72761347
##  6            1380                   1000                 2163385       72780610
##  7            1380                   1000                 2163385       72780846
##  8            1380                   1000                 2163385       72761329
##  9            1380                   1000                 2163385       72761319
## 10            1380                   1000                 2163385       72761333
## # ℹ 48,954 more rows
## # ℹ abbreviated name: ¹​`Código do Ciclo de Matrícula`
## # ℹ 90 more variables: `Cor / Raça` <chr>, `Dt Data Fim Previsto` <chr>,
## #   `Data de Inicio do Ciclo` <chr>, `Dt Ocorrencia Matricula` <chr>,
## #   `Eixo Tecnológico` <chr>, `Fator Esforco Curso` <dbl>,
## #   `Mes De Ocorrencia` <chr>, `Modalidade Ensino` <chr>,
## #   `Nome de Curso` <chr>, `Fonte de financiamento` <chr>, …
write.csv2(dado_mulher_info_sub, "dados_mulher_info2017a2021_sub.csv")

#dataset com os dados masculinos para todos os anos
dado_homem_sub <- bind_rows(mas17_sub, mas18_sub, mas19_sub, mas20_sub, mas21_sub)
#print(dado_homem_sub)

write.csv2(dado_homem_sub, "dados_homem2017a2021_sub.csv")

#Dataset com os dados masculinos para o curso de Manutenção e Suporte em informática para todos os anos
dado_homem_manu_sub <- bind_rows(manu_homem17_sub, manu_homem18_sub, manu_homem19_sub, manu_homem20_sub, manu_homem21_sub)
#print(dado_homem_manu_sub)

write_csv2(dado_homem_manu_sub, "dados_homem_manu2017a2021_sub.csv")

#Dataset com os dados masculinos para o curso de informática para todos os anos
dado_homem_info_sub <- bind_rows(infor_homem17_sub, infor_homem18_sub, infor_homem19_sub, infor_homem20_sub, infor_homem21_sub)
#print(dado_homem_info_sub)

write_csv2(dado_homem_info_sub, "dados_homem_info2017a2021_sub.csv")

#Dataset para o curso de Manutenção e Suporte em Informática para os dois sexo e para todos os anos
dado_manu_total_sub <- bind_rows(dado_mulher_manu_sub, dado_homem_manu_sub)
#print(dado_manu_total_sub)

write_csv2(dado_manu_total_sub, "dados_manu_total2017a2021_sub.csv")

#Dataset para o curso de Informática para os dois sexo e para todos os anos
dado_info_total_sub <- bind_rows(dado_mulher_info_sub, dado_homem_info_sub)
#print(dado_info_total_sub)

write_csv2(dado_info_total_sub, "dados_info_total2017a2021_sub.csv")

De posse dos dataframes com as informações que iremos utilizar na análise, agora vamos realizar a contagem em valores absolutos e em percentuais Feminino e Masculino para os cursos Técnico Subsequente em Manutenção e Suporte em Informática e Técnico Subsequente em Informática no contexto nacional (Brasil)

I - Curso Técnico Subsequente em Manutenção e Suporte em Informática

Fazendo a contagem por situação de matricula e por sexo para o curso de Manutenção e Suporte em Informática

I - Sexo Feminino

#Contagem de Ingresso
contagem_manu_ingresso_sub <- dado_manu_total_sub %>%
  filter(`Situação de Matrícula` == "Ingresso") %>%
  group_by(ano, `Situação de Matrícula`) %>%
  tally() %>%
  ungroup() %>%
  left_join(
    dado_mulher_manu_sub %>%
      filter(`Situação de Matrícula` == "Ingresso") %>%
      group_by(ano, `Situação de Matrícula`) %>%
      tally(),
    by = c("ano", "Situação de Matrícula")
  ) %>%
  left_join(
    dado_homem_manu_sub %>%
      filter(`Situação de Matrícula` == "Ingresso") %>%
      group_by(ano, `Situação de Matrícula`) %>%
      tally(),
    by = c("ano", "Situação de Matrícula")
  ) %>%
  rename(total_alunos = n.x, total_mulheres = n.y, total_homens = n)

print(contagem_manu_ingresso_sub)
## # A tibble: 5 × 5
##     ano `Situação de Matrícula` total_alunos total_mulheres total_homens
##   <dbl> <chr>                          <int>          <int>        <int>
## 1  2017 Ingresso                        1554            530         1024
## 2  2018 Ingresso                        1452            520          932
## 3  2019 Ingresso                        1638            602         1036
## 4  2020 Ingresso                         799            306          493
## 5  2021 Ingresso                         690            261          429
write_csv2(contagem_manu_ingresso_sub, "contagem_manu_ingresso_sub.csv")

# Contagem Em Curso
contagem_manu_emCurso_sub <- dado_manu_total_sub %>%
  filter(`Situação de Matrícula` == "Em curso") %>%
  group_by(ano, `Situação de Matrícula`) %>%
  tally() %>%
  ungroup() %>%
  left_join(
    dado_mulher_manu_sub %>%
      filter(`Situação de Matrícula` == "Em curso") %>%
      group_by(ano, `Situação de Matrícula`) %>%
      tally(),
    by = c("ano", "Situação de Matrícula")
  ) %>%
  left_join(
    dado_homem_manu_sub %>%
      filter(`Situação de Matrícula` == "Em curso") %>%
      group_by(ano, `Situação de Matrícula`) %>%
      tally(),
    by = c("ano", "Situação de Matrícula")
  ) %>%
  rename(total_alunos = n.x, total_mulheres = n.y, total_homens = n)

print(contagem_manu_emCurso_sub)
## # A tibble: 5 × 5
##     ano `Situação de Matrícula` total_alunos total_mulheres total_homens
##   <dbl> <chr>                          <int>          <int>        <int>
## 1  2017 Em curso                        1157            361          796
## 2  2018 Em curso                        1282            413          869
## 3  2019 Em curso                         986            329          657
## 4  2020 Em curso                        1674            580         1094
## 5  2021 Em curso                        1324            446          878
write_csv2(contagem_manu_emCurso_sub, "contagem_manu_emCurso_sub.csv")

#Contagem Evasão
contagem_manu_evasao_sub <- dado_manu_total_sub %>%
  filter(`Situação de Matrícula` == "Evasão") %>%
  group_by(ano, `Situação de Matrícula`) %>%
  tally() %>%
  ungroup() %>%
  left_join(
    dado_mulher_manu_sub %>%
      filter(`Situação de Matrícula` == "Evasão") %>%
      group_by(ano, `Situação de Matrícula`) %>%
      tally(),
    by = c("ano", "Situação de Matrícula")
  ) %>%
  left_join(
    dado_homem_manu_sub %>%
      filter(`Situação de Matrícula` == "Evasão") %>%
      group_by(ano, `Situação de Matrícula`) %>%
      tally(),
    by = c("ano", "Situação de Matrícula")
  ) %>%
  rename(total_alunos = n.x, total_mulheres = n.y, total_homens = n)

print(contagem_manu_evasao_sub)
## # A tibble: 5 × 5
##     ano `Situação de Matrícula` total_alunos total_mulheres total_homens
##   <dbl> <chr>                          <int>          <int>        <int>
## 1  2017 Evasão                          1244            440          804
## 2  2018 Evasão                          1221            441          780
## 3  2019 Evasão                          1044            348          696
## 4  2020 Evasão                           202             67          135
## 5  2021 Evasão                           234             91          143
write_csv2(contagem_manu_evasao_sub, "contagem_manu_evasao_sub.csv")

#Contagem Conclusão
contagem_manu_conclusao_sub <- dado_manu_total_sub %>%
  filter(`Situação de Matrícula` == "Concluída") %>%
  group_by(ano, `Situação de Matrícula`) %>%
  tally() %>%
  ungroup() %>%
  left_join(
    dado_mulher_manu_sub %>%
      filter(`Situação de Matrícula` == "Concluída") %>%
      group_by(ano, `Situação de Matrícula`) %>%
      tally(),
    by = c("ano", "Situação de Matrícula")
  ) %>%
  left_join(
    dado_homem_manu_sub %>%
      filter(`Situação de Matrícula` == "Concluída") %>%
      group_by(ano, `Situação de Matrícula`) %>%
      tally(),
    by = c("ano", "Situação de Matrícula")
  ) %>%
  rename(total_alunos = n.x, total_mulheres = n.y, total_homens = n)

print(contagem_manu_conclusao_sub)
## # A tibble: 5 × 5
##     ano `Situação de Matrícula` total_alunos total_mulheres total_homens
##   <dbl> <chr>                          <int>          <int>        <int>
## 1  2017 Concluída                        507            157          350
## 2  2018 Concluída                        569            192          377
## 3  2019 Concluída                        699            233          466
## 4  2020 Concluída                        253             85          168
## 5  2021 Concluída                        925            362          563
write_csv2(contagem_manu_conclusao_sub, "contagem_manu_conclusao_sub.csv")

contagem_manu_sub <- bind_rows(contagem_manu_ingresso_sub, contagem_manu_emCurso_sub, contagem_manu_evasao_sub, contagem_manu_conclusao_sub)
print(contagem_manu_sub)
## # A tibble: 20 × 5
##      ano `Situação de Matrícula` total_alunos total_mulheres total_homens
##    <dbl> <chr>                          <int>          <int>        <int>
##  1  2017 Ingresso                        1554            530         1024
##  2  2018 Ingresso                        1452            520          932
##  3  2019 Ingresso                        1638            602         1036
##  4  2020 Ingresso                         799            306          493
##  5  2021 Ingresso                         690            261          429
##  6  2017 Em curso                        1157            361          796
##  7  2018 Em curso                        1282            413          869
##  8  2019 Em curso                         986            329          657
##  9  2020 Em curso                        1674            580         1094
## 10  2021 Em curso                        1324            446          878
## 11  2017 Evasão                          1244            440          804
## 12  2018 Evasão                          1221            441          780
## 13  2019 Evasão                          1044            348          696
## 14  2020 Evasão                           202             67          135
## 15  2021 Evasão                           234             91          143
## 16  2017 Concluída                        507            157          350
## 17  2018 Concluída                        569            192          377
## 18  2019 Concluída                        699            233          466
## 19  2020 Concluída                        253             85          168
## 20  2021 Concluída                        925            362          563
contagem_mulher_manu_sub <- contagem_manu_sub %>%
  group_by(ano, `Situação de Matrícula`) %>%
  mutate(total_alunos = total_alunos, total_mulheres = total_mulheres) %>%
  summarise(total_alunos, total_mulheres, percentual_alunas_manu = (total_mulheres / total_alunos) * 100)
## `summarise()` has grouped output by 'ano'. You can override using the `.groups`
## argument.
print(contagem_mulher_manu_sub)
## # A tibble: 20 × 5
## # Groups:   ano [5]
##      ano `Situação de Matrícula` total_alunos total_mulheres
##    <dbl> <chr>                          <int>          <int>
##  1  2017 Concluída                        507            157
##  2  2017 Em curso                        1157            361
##  3  2017 Evasão                          1244            440
##  4  2017 Ingresso                        1554            530
##  5  2018 Concluída                        569            192
##  6  2018 Em curso                        1282            413
##  7  2018 Evasão                          1221            441
##  8  2018 Ingresso                        1452            520
##  9  2019 Concluída                        699            233
## 10  2019 Em curso                         986            329
## 11  2019 Evasão                          1044            348
## 12  2019 Ingresso                        1638            602
## 13  2020 Concluída                        253             85
## 14  2020 Em curso                        1674            580
## 15  2020 Evasão                           202             67
## 16  2020 Ingresso                         799            306
## 17  2021 Concluída                        925            362
## 18  2021 Em curso                        1324            446
## 19  2021 Evasão                           234             91
## 20  2021 Ingresso                         690            261
## # ℹ 1 more variable: percentual_alunas_manu <dbl>
write_csv2(contagem_mulher_manu_sub, "percentual_mulheres_sub_manutencaoESuporteInfor_SituacaoMatricula.csv")

cores_rgb1 <- c("#DC143C", "#CD5C5C", "#FF0000", "#FFC0CB")

# Criação do gráfico com os valores absolutos do número de mulheres para o Subsequente em Manutenção e Suporte em Informática
grafico_contagem_mulheres_manu_sub <- ggplot(contagem_mulher_manu_sub, aes(x = as.factor(ano), y = total_mulheres, fill = `Situação de Matrícula`)) +
  geom_bar(stat = "identity", position = position_dodge(width = 0.8)) +
  labs(title = "Número de mulheres para o curso Sub de Mant. e Suport. em Infor", x = "", y = "") +
  geom_text(aes(label = paste0(format(round(total_mulheres, 0), nsmall = 0))), vjust = 1.5, color = "black", position = position_dodge(width = 0.9)) +
  scale_fill_manual(values = cores_rgb1)

print(grafico_contagem_mulheres_manu_sub)

ggsave("contagem_mulher_manu_sub.png", grafico_contagem_mulheres_manu_sub)
## Saving 7 x 5 in image
# Criação do gráfico com o percentual de mulheres para o Subsequente em Manutenção e Suporte em Informática
grafico_contagem_mulher_manu_sub <- ggplot(contagem_mulher_manu_sub, aes(x = as.factor(ano), y = percentual_alunas_manu, fill = `Situação de Matrícula`)) +
  geom_bar(stat = "identity", position = position_dodge(width = 0.8)) +
  labs(title = "Percentual de mulheres para o curso Sub de Mant. e Suport. em Infor", x = "", y = "") +
  geom_text(aes(label = paste0(format(round(percentual_alunas_manu, 0), nsmall = 0))), vjust = 1.5, color = "black", position = position_dodge(width = 0.9)) +
  scale_fill_manual(values = cores_rgb1)

print(grafico_contagem_mulher_manu_sub)

ggsave("percentual_mulher_manu_sub.png", grafico_contagem_mulher_manu_sub)
## Saving 7 x 5 in image
# Criação do gráfico empilhado com valores absolutos e percentuais em um único gráfico
grafico_contagem_mulher_manu_sub <- ggplot(contagem_mulher_manu_sub, aes(x = as.factor(ano), y = total_mulheres, fill = `Situação de Matrícula`)) +
  geom_bar(stat = "identity", position = position_dodge(width = 0.8)) +
  labs(title = "Contagem de Alunas do Sub por Situação de Matrícula - Curso de Manutenção", x = "Ano", y = "Total de Alunos") +
  geom_text(aes(label = paste0(format(round(total_mulheres), 0), "\n(", format(round(percentual_alunas_manu), 0), "%)")),
            vjust = ifelse(contagem_manu_sub$total_alunos >= 30, 0.5, 1), color = "black", position = position_dodge(width = 0.9)) +
  facet_wrap(~ 'Situação de Matrícula', ncol = 1, scales = "free_y") +
  scale_fill_manual(values = cores_rgb1)

print(grafico_contagem_mulher_manu_sub)

ggsave("grafico_contagem_Mulher_manu_subsequente_ambos.png", grafico_contagem_mulher_manu_sub)
## Saving 7 x 5 in image

II - Sexo Masculino

# Cálculo do percentual de alunos por situação de matrícula para Manutenção e Suporte em Informática
contagem_homem_manu_sub <- contagem_manu_sub %>%
  group_by(ano, `Situação de Matrícula`) %>%
  mutate(total_alunos = total_alunos, total_homens = total_homens) %>%
  summarise(total_alunos, total_homens, percentual_alunos_manu = (total_homens / total_alunos) * 100)
## `summarise()` has grouped output by 'ano'. You can override using the `.groups`
## argument.
print(contagem_homem_manu_sub)
## # A tibble: 20 × 5
## # Groups:   ano [5]
##      ano Situação de Matrícul…¹ total_alunos total_homens percentual_alunos_manu
##    <dbl> <chr>                         <int>        <int>                  <dbl>
##  1  2017 Concluída                       507          350                   69.0
##  2  2017 Em curso                       1157          796                   68.8
##  3  2017 Evasão                         1244          804                   64.6
##  4  2017 Ingresso                       1554         1024                   65.9
##  5  2018 Concluída                       569          377                   66.3
##  6  2018 Em curso                       1282          869                   67.8
##  7  2018 Evasão                         1221          780                   63.9
##  8  2018 Ingresso                       1452          932                   64.2
##  9  2019 Concluída                       699          466                   66.7
## 10  2019 Em curso                        986          657                   66.6
## 11  2019 Evasão                         1044          696                   66.7
## 12  2019 Ingresso                       1638         1036                   63.2
## 13  2020 Concluída                       253          168                   66.4
## 14  2020 Em curso                       1674         1094                   65.4
## 15  2020 Evasão                          202          135                   66.8
## 16  2020 Ingresso                        799          493                   61.7
## 17  2021 Concluída                       925          563                   60.9
## 18  2021 Em curso                       1324          878                   66.3
## 19  2021 Evasão                          234          143                   61.1
## 20  2021 Ingresso                        690          429                   62.2
## # ℹ abbreviated name: ¹​`Situação de Matrícula`
write_csv2(contagem_homem_manu_sub, "percentual_homens_sub_manutencaoESuporteInfor_SituacaoMatricula.csv")

cores_rgb <- c("#00008B", "#4169E1", "#0000FF", "#ADD8E6")

# Criação do gráfico com os valores absolutos do número de homens para Manutenção e Suporte em Informática
grafico_contagem_homens_manu_sub <- ggplot(contagem_homem_manu_sub, aes(x = as.factor(ano), y = total_homens, fill = `Situação de Matrícula`)) +
  geom_bar(stat = "identity", position = position_dodge(width = 0.8)) +
  labs(title = "Número de homens Sub para o curso de Mant. e Suport. em Infor", x = "", y = "") +
  geom_text(aes(label = paste0(format(round(total_homens, 0), nsmall = 0))), vjust = 1.5, color = "white", position = position_dodge(width = 0.9)) +
  scale_fill_manual(values = cores_rgb)

print(grafico_contagem_homens_manu_sub)

ggsave("contagem_homem_manu_sub.png", grafico_contagem_homens_manu_sub)
## Saving 7 x 5 in image
# Criação do gráfico com o percentual de homens para Manutenção e Suporte em Informática
grafico_contagem_homem_manu_sub <- ggplot(contagem_homem_manu_sub, aes(x = as.factor(ano), y = percentual_alunos_manu, fill = `Situação de Matrícula`)) +
  geom_bar(stat = "identity", position = position_dodge(width = 0.8)) +
  labs(title = "Percentual de homens Sub para o curso de Mant. e Suport. em Infor", x = "", y = "") +
  geom_text(aes(label = paste0(format(round(percentual_alunos_manu, 0), nsmall = 0))), vjust = 1.5, color = "white", position = position_dodge(width = 0.9)) +
  scale_fill_manual(values = cores_rgb)

print(grafico_contagem_homem_manu_sub)

ggsave("percentual_homem_manu_sub.png", grafico_contagem_homem_manu_sub)
## Saving 7 x 5 in image
# Criação do gráfico empilhado com valores absolutos e percentuais em um único gráfico
grafico_contagem_homem_manu_sub <- ggplot(contagem_homem_manu_sub, aes(x = as.factor(ano), y = total_homens, fill = `Situação de Matrícula`)) +
  geom_bar(stat = "identity", position = position_dodge(width = 0.8)) +
  labs(title = "Contagem de Alunos Sub por Situação de Matrícula - Curso de Manutenção", x = "Ano", y = "Total de Alunos") +
  geom_text(aes(label = paste0(format(round(total_homens), 0), "\n(", format(round(percentual_alunos_manu), 0), "%)")),
            vjust = ifelse(contagem_manu_sub$total_alunos >= 30, 0.5, 1), color = "black", position = position_dodge(width = 0.9)) +
  facet_wrap(~ 'Situação de Matrícula', ncol = 1, scales = "free_y") +
  scale_fill_manual(values = cores_rgb)

print(grafico_contagem_homem_manu_sub)

ggsave("grafico_contagem_Homem_manu_sub_ambos.png", grafico_contagem_homem_manu_sub)
## Saving 7 x 5 in image

Fazendo a contagem por situação de matricula e por sexo para o curso Técnico em Informática

I - Sexo Feminino

#Fazendo a contagem por situação de matricula e por sexo para o curso de Informática
# Contagem de Ingresso
contagem_info_ingresso_sub <- dado_info_total_sub %>%
  filter(`Situação de Matrícula` == "Ingresso") %>%
  group_by(ano, `Situação de Matrícula`) %>%
  tally() %>%
  ungroup() %>%
  left_join(
    dado_mulher_info_sub %>%
      filter(`Situação de Matrícula` == "Ingresso") %>%
      group_by(ano, `Situação de Matrícula`) %>%
      tally(),
    by = c("ano", "Situação de Matrícula")
  ) %>%
  left_join(
    dado_homem_info_sub %>%
      filter(`Situação de Matrícula` == "Ingresso") %>%
      group_by(ano, `Situação de Matrícula`) %>%
      tally(),
    by = c("ano", "Situação de Matrícula")
  ) %>%
  rename(total_alunos = n.x, total_mulheres = n.y, total_homens = n)

# Contagem Em Curso
contagem_info_emCurso_sub <- dado_info_total_sub %>%
  filter(`Situação de Matrícula` == "Em curso") %>%
  group_by(ano, `Situação de Matrícula`) %>%
  tally() %>%
  ungroup()%>%
  left_join(
    dado_mulher_info_sub %>%
      filter(`Situação de Matrícula` == "Em curso") %>%
      group_by(ano, `Situação de Matrícula`) %>%
      tally(),
    by = c("ano", "Situação de Matrícula")
  ) %>%
  left_join(
    dado_homem_info_sub %>%
      filter(`Situação de Matrícula` == "Em curso") %>%
      group_by(ano, `Situação de Matrícula`) %>%
      tally(),
    by = c("ano", "Situação de Matrícula")
  ) %>%
  rename(total_alunos = n.x, total_mulheres = n.y, total_homens = n)

# Contagem Evasão
contagem_info_evasao_sub <- dado_info_total_sub %>%
  filter(`Situação de Matrícula` == "Evasão") %>%
  group_by(ano, `Situação de Matrícula`) %>%
  tally() %>%
  ungroup()%>%
  left_join(
    dado_mulher_info_sub %>%
      filter(`Situação de Matrícula` == "Evasão") %>%
      group_by(ano, `Situação de Matrícula`) %>%
      tally(),
    by = c("ano", "Situação de Matrícula")
  ) %>%
  left_join(
    dado_homem_info_sub %>%
      filter(`Situação de Matrícula` == "Evasão") %>%
      group_by(ano, `Situação de Matrícula`) %>%
      tally(),
    by = c("ano", "Situação de Matrícula")
  ) %>%
  rename(total_alunos = n.x, total_mulheres = n.y, total_homens = n)

# Contagem Conclusão
contagem_info_conclusao_sub <- dado_info_total_sub %>%
  filter(`Situação de Matrícula` == "Concluída") %>%
  group_by(ano, `Situação de Matrícula`) %>%
  tally() %>%
  ungroup()%>%
  left_join(
    dado_mulher_info_sub %>%
      filter(`Situação de Matrícula` == "Concluída") %>%
      group_by(ano, `Situação de Matrícula`) %>%
      tally(),
    by = c("ano", "Situação de Matrícula")
  ) %>%
  left_join(
    dado_homem_info_sub %>%
      filter(`Situação de Matrícula` == "Concluída") %>%
      group_by(ano, `Situação de Matrícula`) %>%
      tally(),
    by = c("ano", "Situação de Matrícula")
  ) %>%
  rename(total_alunos = n.x, total_mulheres = n.y, total_homens = n)

# Combinação de todas as contagens para Informática
contagem_info_sub <- bind_rows(contagem_info_ingresso_sub, contagem_info_emCurso_sub, contagem_info_evasao_sub, contagem_info_conclusao_sub)
print(contagem_info_sub)
## # A tibble: 20 × 5
##      ano `Situação de Matrícula` total_alunos total_mulheres total_homens
##    <dbl> <chr>                          <int>          <int>        <int>
##  1  2017 Ingresso                        2925           1061         1864
##  2  2018 Ingresso                        2237            975         1262
##  3  2019 Ingresso                        3082           1480         1602
##  4  2020 Ingresso                       11307           4807         6500
##  5  2021 Ingresso                        9904           4688         5216
##  6  2017 Em curso                        2766            938         1828
##  7  2018 Em curso                        2768            965         1803
##  8  2019 Em curso                        2486           1033         1453
##  9  2020 Em curso                       23641           9803        13838
## 10  2021 Em curso                       23604           9906        13698
## 11  2017 Evasão                          6764           2653         4111
## 12  2018 Evasão                          3112           1265         1847
## 13  2019 Evasão                          1600            671          929
## 14  2020 Evasão                          2292            929         1363
## 15  2021 Evasão                          3124           1227         1897
## 16  2017 Concluída                       1813            657         1156
## 17  2018 Concluída                       1353            485          868
## 18  2019 Concluída                        930            310          620
## 19  2020 Concluída                       3447           1369         2078
## 20  2021 Concluída                       8709           3742         4967
# Cálculo do percentual de alunas por situação de matrícula para Informática
contagem_mulher_info_sub <- contagem_info_sub %>%
  group_by(ano, `Situação de Matrícula`) %>%
  mutate(total_alunos = total_alunos, total_mulheres = total_mulheres) %>%
  summarise(total_alunos, total_mulheres, percentual_alunas_info = (total_mulheres / total_alunos) * 100)
## `summarise()` has grouped output by 'ano'. You can override using the `.groups`
## argument.
print(contagem_mulher_info_sub)
## # A tibble: 20 × 5
## # Groups:   ano [5]
##      ano `Situação de Matrícula` total_alunos total_mulheres
##    <dbl> <chr>                          <int>          <int>
##  1  2017 Concluída                       1813            657
##  2  2017 Em curso                        2766            938
##  3  2017 Evasão                          6764           2653
##  4  2017 Ingresso                        2925           1061
##  5  2018 Concluída                       1353            485
##  6  2018 Em curso                        2768            965
##  7  2018 Evasão                          3112           1265
##  8  2018 Ingresso                        2237            975
##  9  2019 Concluída                        930            310
## 10  2019 Em curso                        2486           1033
## 11  2019 Evasão                          1600            671
## 12  2019 Ingresso                        3082           1480
## 13  2020 Concluída                       3447           1369
## 14  2020 Em curso                       23641           9803
## 15  2020 Evasão                          2292            929
## 16  2020 Ingresso                       11307           4807
## 17  2021 Concluída                       8709           3742
## 18  2021 Em curso                       23604           9906
## 19  2021 Evasão                          3124           1227
## 20  2021 Ingresso                        9904           4688
## # ℹ 1 more variable: percentual_alunas_info <dbl>
write_csv2(contagem_mulher_info_sub, "percentual_mulheres_Infor_sub_SituacaoMatricula.csv")

# Cores para o gráfico
cores_rgb1 <- c("#DC143C", "#CD5C5C", "#FF0000", "#FFC0CB")

# Criação do gráfico com valores absolutos de mulheres para o curso de Informática
grafico_contagem_mulheres_info_sub <- ggplot(contagem_mulher_info_sub, aes(x = as.factor(ano), y = total_mulheres, fill = `Situação de Matrícula`)) +
  geom_bar(stat = "identity", position = position_dodge(width = 0.8)) +
  labs(title = "Número de mulheres do sub para o curso de Informática", x = "Ano", y = "Percentual de alunas") +
  geom_text(aes(label = paste0(format(round(total_mulheres, 0), nsmall = 0))), 
            position = position_dodge(width = 0.8), vjust = 1.5, color = "black") +
  scale_fill_manual(values = cores_rgb1)

print(grafico_contagem_mulheres_info_sub)

ggsave("contagem_mulheres_info_sub.png", grafico_contagem_mulheres_info_sub)
## Saving 7 x 5 in image
# Criação do gráfico com o percentual de mulheres para o curso de Informática
grafico_contagem_mulher_info_sub <- ggplot(contagem_mulher_info_sub, aes(x = as.factor(ano), y = percentual_alunas_info, fill = `Situação de Matrícula`)) +
  geom_bar(stat = "identity", position = position_dodge(width = 0.8)) +
  labs(title = "Percentual de mulheres do sub para o curso de Informática", x = "Ano", y = "Percentual de alunas") +
  geom_text(aes(label = paste0(format(round(percentual_alunas_info, 0), nsmall = 0))), 
            position = position_dodge(width = 0.8), vjust = 1.5, color = "black") +
  scale_fill_manual(values = cores_rgb1)

print(grafico_contagem_mulher_info_sub)

ggsave("contagem_mulher_info_sub.png", grafico_contagem_mulher_info_sub)
## Saving 7 x 5 in image
# Criação do gráfico empilhado com valores absolutos e percentuais em um único gráfico
grafico_contagem_mulher_info_sub <- ggplot(contagem_mulher_info_sub, aes(x = as.factor(ano), y = total_mulheres, fill = `Situação de Matrícula`)) +
  geom_bar(stat = "identity", position = position_dodge(width = 0.8)) +
  labs(title = "Contagem de Alunas do Sub por Situação de Matrícula - Curso de Informática", x = "Ano", y = "Total de Alunos") +
  geom_text(aes(label = paste0(format(round(total_mulheres), 0), "\n(", format(round(percentual_alunas_info), 0), "%)")),
            vjust = ifelse(contagem_manu_sub$total_alunos >= 30, 0.5, 0.2), hjust = 0.5, color = "black", position = position_dodge(width = 0.9)) +
  facet_wrap(~ 'Situação de Matrícula', ncol = 1, scales = "free_y") +
  scale_fill_manual(values = cores_rgb1)

print(grafico_contagem_mulher_info_sub)

ggsave("grafico_contagem_Mulher_sub_info_ambos.png", grafico_contagem_mulher_info_sub)
## Saving 7 x 5 in image

II - Sexo Masculino

# Cálculo do percentual de alunos por situação de matrícula para Informática
contagem_homem_info_sub <- contagem_info_sub %>%
  group_by(ano, `Situação de Matrícula`) %>%
  mutate(total_alunos = total_alunos, total_homens = total_homens) %>%
  summarise(total_alunos, total_homens, percentual_alunos_info = (total_homens / total_alunos) * 100)
## `summarise()` has grouped output by 'ano'. You can override using the `.groups`
## argument.
print(contagem_homem_info_sub)
## # A tibble: 20 × 5
## # Groups:   ano [5]
##      ano Situação de Matrícul…¹ total_alunos total_homens percentual_alunos_info
##    <dbl> <chr>                         <int>        <int>                  <dbl>
##  1  2017 Concluída                      1813         1156                   63.8
##  2  2017 Em curso                       2766         1828                   66.1
##  3  2017 Evasão                         6764         4111                   60.8
##  4  2017 Ingresso                       2925         1864                   63.7
##  5  2018 Concluída                      1353          868                   64.2
##  6  2018 Em curso                       2768         1803                   65.1
##  7  2018 Evasão                         3112         1847                   59.4
##  8  2018 Ingresso                       2237         1262                   56.4
##  9  2019 Concluída                       930          620                   66.7
## 10  2019 Em curso                       2486         1453                   58.4
## 11  2019 Evasão                         1600          929                   58.1
## 12  2019 Ingresso                       3082         1602                   52.0
## 13  2020 Concluída                      3447         2078                   60.3
## 14  2020 Em curso                      23641        13838                   58.5
## 15  2020 Evasão                         2292         1363                   59.5
## 16  2020 Ingresso                      11307         6500                   57.5
## 17  2021 Concluída                      8709         4967                   57.0
## 18  2021 Em curso                      23604        13698                   58.0
## 19  2021 Evasão                         3124         1897                   60.7
## 20  2021 Ingresso                       9904         5216                   52.7
## # ℹ abbreviated name: ¹​`Situação de Matrícula`
write_csv2(contagem_homem_info_sub, "percentual_homens_Infor_sub_SituacaoMatricula.csv")

cores_rgb <- c("#00008B", "#4169E1", "#0000FF", "#ADD8E6")

# Criação do gráfico com os valores absolutos de homens para o curso de Informática
grafico_contagem_homens_info_sub <- ggplot(contagem_homem_info_sub, aes(x = as.factor(ano), y = total_homens, fill = `Situação de Matrícula`)) +
  geom_bar(stat = "identity", position = position_dodge(width = 0.8)) +
  labs(title = "Número de homens do Sub para o curso de Infor", x = "", y = "") +
  geom_text(aes(label = paste0(format(round(total_homens, 0), nsmall = 0))), vjust = 1.5, color = "white", position = position_dodge(width = 0.9)) +
  scale_fill_manual(values = cores_rgb)

print(grafico_contagem_homens_info_sub)

ggsave("contagem_homens_info_sub.png", grafico_contagem_homens_info_sub)
## Saving 7 x 5 in image
# Criação do gráfico com o percentual de homens para o curso de Informática
grafico_contagem_homem_info_sub <- ggplot(contagem_homem_info_sub, aes(x = as.factor(ano), y = percentual_alunos_info, fill = `Situação de Matrícula`)) +
  geom_bar(stat = "identity", position = position_dodge(width = 0.8)) +
  labs(title = "Percentual de homens do Sub para o curso de Infor", x = "", y = "") +
  geom_text(aes(label = paste0(format(round(percentual_alunos_info, 0), nsmall = 0))), vjust = 1.5, color = "white", position = position_dodge(width = 0.9)) +
  scale_fill_manual(values = cores_rgb)

print(grafico_contagem_homem_info_sub)

ggsave("contagem_homem_info_sub.png", grafico_contagem_homem_info_sub)
## Saving 7 x 5 in image
# Criação do gráfico empilhado com valores absolutos e percentuais em um único gráfico
grafico_contagem_homem_info_sub <- ggplot(contagem_homem_info_sub, aes(x = as.factor(ano), y = total_homens, fill = `Situação de Matrícula`)) +
  geom_bar(stat = "identity", position = position_dodge(width = 0.8)) +
  labs(title = "Contagem de Alunos do Sub por Situação de Matrícula - Curso de Informática", x = "Ano", y = "Total de Alunos") +
  geom_text(aes(label = paste0(format(round(total_homens), 0), "\n(", format(round(percentual_alunos_info), 0), "%)")),
            vjust = ifelse(contagem_manu_sub$total_alunos >= 30, 0.5, 0.5), color = "black", position = position_dodge(width = 0.9)) +
  facet_wrap(~ 'Situação de Matrícula', ncol = 1, scales = "free_y") +
  scale_fill_manual(values = cores_rgb)

print(grafico_contagem_homem_info_sub)

ggsave("grafico_contagem_Homem_info_sub_ambos.png", grafico_contagem_homem_info_sub)
## Saving 7 x 5 in image

Vendo as informações de contagem por sexo e por situação de matricula

I - Curso de Manutenção e Suporte em Informática

#Criando a contagem de alunos por sexo para o curso de Manutenção e Suporte em Informática e empilhando os dados por Situação da Matrícula
contagem_mulher_manu2_sub <- dado_mulher_manu_sub %>% group_by(ano, `Sexo`, `Situação de Matrícula`)%>%tally()
#print(contagem_mulher_manu2_sub)

contagem_homem_manu2_sub <- dado_homem_manu_sub %>% group_by(ano, `Sexo`, `Situação de Matrícula`)%>%tally()
#print(contagem_homem_manu2_sub)

contagem_alunos_manu2_sub <- bind_rows(contagem_mulher_manu2_sub, contagem_homem_manu2_sub)
print(contagem_alunos_manu2_sub)
## # A tibble: 40 × 4
## # Groups:   ano, Sexo [10]
##      ano Sexo     `Situação de Matrícula`     n
##    <dbl> <chr>    <chr>                   <int>
##  1  2017 Feminino Concluída                 157
##  2  2017 Feminino Em curso                  361
##  3  2017 Feminino Evasão                    440
##  4  2017 Feminino Ingresso                  530
##  5  2018 Feminino Concluída                 192
##  6  2018 Feminino Em curso                  413
##  7  2018 Feminino Evasão                    441
##  8  2018 Feminino Ingresso                  520
##  9  2019 Feminino Concluída                 233
## 10  2019 Feminino Em curso                  329
## # ℹ 30 more rows
# Criando o gráfico de barras empilhadas
grafico_empilhado_manu2_sub <- ggplot(contagem_alunos_manu2_sub, aes(x = as.factor(ano), y = n, fill = `Situação de Matrícula`)) +
  geom_bar(stat = "identity") +
  labs(title = "Número de Alunos Sub para Manunt. e Suport. em Infor.", x = "Ano", y = "Número de Alunos") +
  geom_text(aes(label = format(round(n, 1), nsmall = 0)), position = position_stack(vjust = 0.5), color = "black") +
  facet_wrap(~Sexo, ncol = 1, scales = "free_y")

print(grafico_empilhado_manu2_sub)

ggsave("grafico_contagem_alunos_manu2_sub.png", grafico_empilhado_manu2_sub)
## Saving 7 x 5 in image

II - Curso Técnico em Informática

#Criando a contagem de alunos por sexo para o curso de Informática e empilhando os dados por Situação da Matrícula
contagem_mulher_info2_sub <- dado_mulher_info_sub %>% group_by(ano, `Sexo`, `Situação de Matrícula`)%>%tally()
#print(contagem_mulher_info2_sub)

contagem_homem_info2_sub <- dado_homem_info_sub %>% group_by(ano, `Sexo`, `Situação de Matrícula`)%>%tally()
#print(contagem_homem_info2_sub)

contagem_alunos_info2_sub <- bind_rows(contagem_mulher_info2_sub, contagem_homem_info2_sub)
print(contagem_alunos_info2_sub)
## # A tibble: 40 × 4
## # Groups:   ano, Sexo [10]
##      ano Sexo     `Situação de Matrícula`     n
##    <dbl> <chr>    <chr>                   <int>
##  1  2017 Feminino Concluída                 657
##  2  2017 Feminino Em curso                  938
##  3  2017 Feminino Evasão                   2653
##  4  2017 Feminino Ingresso                 1061
##  5  2018 Feminino Concluída                 485
##  6  2018 Feminino Em curso                  965
##  7  2018 Feminino Evasão                   1265
##  8  2018 Feminino Ingresso                  975
##  9  2019 Feminino Concluída                 310
## 10  2019 Feminino Em curso                 1033
## # ℹ 30 more rows
# Criando o gráfico de barras empilhadas
grafico_empilhado_info2_sub <- ggplot(contagem_alunos_info2_sub, aes(x = as.factor(ano), y = n, fill = `Situação de Matrícula`)) +
  geom_bar(stat = "identity") +
  labs(title = "Número de Alunos Sub para Infor.", x = "Ano", y = "Número de Alunos") +
  geom_text(aes(label = format(round(n, 1), nsmall = 0)), position = position_stack(vjust = 0.5), color = "black") +
  facet_wrap(~Sexo, ncol = 1, scales = "free_y")

print(grafico_empilhado_info2_sub)

ggsave("grafico_contagem_alunos_info2_sub.png", grafico_empilhado_info2_sub)
## Saving 7 x 5 in image