-
Notifications
You must be signed in to change notification settings - Fork 0
/
SCRIPT.R
106 lines (91 loc) · 3.09 KB
/
SCRIPT.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# qacademico <- read_qacademico("C://Users/dmmad/Desktop/Aria/qacademico/Outubro_2022_1.csv")
library(ifpe.ae)
library(dplyr)
library(stringr)
library(tidyr)
qacademico <- rbind(
read.csv("C://Users/dmmad/Desktop/Aria/qacademico/recife-outubro_1.csv", sep = "") ,
read.csv("C://Users/dmmad/Desktop/Aria/qacademico/recife-outubro_1_2.csv", sep = "")
)
glimpse(qacademico)
qtd_por_matricula <- qacademico %>%
filter(Instituição == "IFPE - CAMPUS RECIFE") %>%
group_by(
Per..Let..Inigresso,
Turno.Ingresso,
Curso,
Nível.Regime.de.Ensino,
Situação.Matrícula
) %>%
tally() %>%
tidyr::separate(Per..Let..Inigresso, into = c("Ano", "Semestre"), sep = "/") %>%
filter(Ano >= 2000) %>%
rename(qtd_por_matricula = n) %>%
ungroup()
qtd_total <- qacademico %>%
filter(Instituição == "IFPE - CAMPUS RECIFE") %>%
group_by(
Per..Let..Inigresso,
Turno.Ingresso,
Curso,
Nível.Regime.de.Ensino
) %>%
tally() %>%
tidyr::separate(Per..Let..Inigresso, into = c("Ano", "Semestre"), sep = "/") %>%
filter(Ano >= 2000) %>%
rename(qtd_total = n) %>%
ungroup()
qacademico_matricula_situacao <- qtd_por_matricula %>%
left_join(
qtd_total,
by = c(
"Ano", "Semestre", "Turno.Ingresso",
"Curso", "Nível.Regime.de.Ensino"
)) %>%
ungroup() %>%
mutate(
Situaçao_geral = case_when(
str_detect(Situação.Matrícula, "Matriculado|Trancado|Intercâmbio|Afastado|Não") ~ "Em curso",
str_detect(Situação.Matrícula, "Concluído|Formado|Colação") ~ "Concluído",
str_detect(Situação.Matrícula, "Abandono|Cancelamento|Jubilado|Falecido") ~ "Abandono",
str_detect(Situação.Matrícula, "Concludente|Vínculo|ENADE|Seminário|Certificado") ~ "Integralizado",
TRUE ~ Situação.Matrícula
)
)
cursos_finalizados <- qacademico_matricula_situacao %>%
mutate(
Status_curso = if_else(
Situaçao_geral == "Concluído", "Finalizado", "Não Finalizado"
)
) %>%
filter(Status_curso == "Finalizado") %>%
select(
Ano, Semestre, Turno.Ingresso, Curso,
Nível.Regime.de.Ensino, Status_curso
)
cursos_nao_finalizados <- qacademico_matricula_situacao %>%
anti_join(cursos_finalzados,
by = c("Ano", "Semestre", "Turno.Ingresso", "Curso", "Nível.Regime.de.Ensino")
) %>%
select(Ano, Semestre, Turno.Ingresso, Curso, Nível.Regime.de.Ensino) %>%
distinct()
qacademico_matricula_situacao %>%
semi_join(
cursos_finalizados,
by = c("Ano", "Semestre", "Turno.Ingresso", "Curso", "Nível.Regime.de.Ensino")
) %>%
group_by(
Ano, Semestre, Turno.Ingresso, Curso,
Nível.Regime.de.Ensino, qtd_total, Situaçao_geral
) %>%
summarise(qtd_alunos = sum(qtd_por_matricula)) %>%
ungroup() %>%
mutate(percent = qtd_alunos / qtd_total ) %>%
select(-qtd_total, -qtd_alunos) %>%
pivot_wider(
names_from = Situaçao_geral, values_from = percent, values_fill = 0
) %>%
mutate(
IEA = Concluído + (Integralizado + `Em curso`) * (Concluído) / (Concluído + Abandono)
) %>%
mutate(across(where(is.numeric), round, digits = 3))