library(dplyr)
library(readxl)
library(readr)
library(DT)
setwd("C:/Users/aline/workspace/Kassio/work/Impact_ranking_2021/")
# Abrir carga horária média por curso:
carga_horaria_cursos_graduacao_ufersa <- read_excel("cargahorariacursosgraduacaoUfersaprograd.xlsx",
col_types = c("skip", "text", "skip",
"text", "skip", "skip", "skip", "skip",
"skip", "numeric"))
#View(carga_horaria_cursos_graduacao_ufersa)
colnames(carga_horaria_cursos_graduacao_ufersa) <- c("curso","campus","CH_media")
# Abrir conjunto de dados dos alunos 2019.1
alunos2019.1 <- read_csv("Discentes da Graduacao 20191.csv",
locale = locale(encoding = "ISO-8859-1")) # %>% tidyr::drop_na("carga_horaria_total")
#View(alunos2019.1)
# Abrir conjunto de dados dos alunos 2019.1
alunos2019.2 <- read_csv("Discentes da Graduacao 20192.csv",
locale = locale(encoding = "ISO-8859-1")) #%>% tidyr::drop_na("carga_horaria_total")
#View(alunos2019.2)
# Abrir áreas dos cursos
dados_alunos_para_WUR_2016 <- read_excel("dados alunos para WUR 2016.xlsx",
sheet = "area_turno", col_types = c("text", "skip", "text"))
# Pegando cada curso e tirando a média (independente de turno e campus)
carga_horaria_cursos_graduacao_ufersa %>%
group_by(curso) %>%
summarise(., CH_media = mean(CH_media)) -> carga_horaria_cursos_graduacao_ufersa
# INNER JOIN
inner_join(alunos2019.1, carga_horaria_cursos_graduacao_ufersa, by="curso") %>%
inner_join(., dados_alunos_para_WUR_2016, by="curso") -> alunos2019.1
# INNER JOIN
inner_join(alunos2019.2, carga_horaria_cursos_graduacao_ufersa, by="curso") %>%
inner_join(., dados_alunos_para_WUR_2016, by="curso") -> alunos2019.2
# Conjunto dos alunos que estudaram o primeiro e segundo semestres:
alunos_em_comum = intersect(alunos2019.1$identificador, alunos2019.2$identificador)
# Dados destes alunos no semestre 1:
alunos2019.1 %>% filter(., alunos2019.1$identificador %in% alunos_em_comum) %>%
arrange(., identificador) -> alunos_em_comum_1
# Dados destes alunos no semestre 2:
alunos2019.2 %>% filter(., alunos2019.2$identificador %in% alunos_em_comum) %>%
arrange(., identificador) -> alunos_em_comum_2
alunos_em_comum_total = data.frame(identificador = alunos_em_comum_1$identificador,
curso = alunos_em_comum_1$curso,
ano_ingresso = alunos_em_comum_1$ano_ingresso,
sexo = alunos_em_comum_1$sexo,
carga_horaria_total = alunos_em_comum_1$carga_horaria_total +
alunos_em_comum_2$carga_horaria_total,
CH_media = alunos_em_comum_1$CH_media,
Area = alunos_em_comum_1$Area,
pnaes = alunos_em_comum_1$pnaes)
alunos_em_comum_total %>% mutate(., FTE_individual = carga_horaria_total/(2*CH_media)) ->
alunos_em_comum_total
# FTE dos alunos em comum que recebem auxilio pnaes
alunos_em_comum_total %>% filter(., !is.na(pnaes)) -> pnaes_comum
#pnaes_comum$FTE_individual %>% sum
# FTE dos alunos ingressantes em 2019:
alunos_em_comum_total %>% filter(ano_ingresso == "2019") -> ingressantes_comum
#ingressantes_comum$FTE_individual %>% sum
# Por área de conhecimento ------------------------------------------------
FTE_Area <- function(alunos, Areas_THE){
tabela_por_Area = data.frame(Area = NA, FTE = NA, Matriculados = NA)
for(i in 1:length(Areas_THE)){
alunos_Area = alunos %>% filter(., Area == Areas_THE[i])
tabela_por_Area %>% rbind(., data.frame(Area = Areas_THE[i],
Matriculados = nrow(alunos_Area),
FTE = sum(alunos_Area$FTE_individual))) -> tabela_por_Area
}
return(tabela_por_Area[-1, ])
}
# <1> Alunos que cursaram os dois semestres:
alunos_em_comum_total$Area %>% unique -> Areas_THE
#alunos_em_comum_total$FTE_individual[is.na(alunos_em_comum_total$FTE_individual)] <- 0
tabela_por_Area = FTE_Area(alunos_em_comum_total, Areas_THE)
# <2> Alunos identificadordos apenas em 2019.1:
alunos2019.1 %>% filter(., !(alunos2019.1$identificador %in% alunos_em_comum)) %>%
arrange(., identificador) %>% mutate(.,FTE_individual=carga_horaria_total/(2*CH_media)) %>%
FTE_Area(., Areas_THE) -> tabela_por_Area2019.1
# pnaes
alunos2019.1 %>% filter(., !(alunos2019.1$identificador %in% alunos_em_comum) &
!is.na(pnaes)) %>%
arrange(., identificador) %>%
mutate(.,FTE_individual=carga_horaria_total/(2*CH_media)) -> pnaes_2019.1
#pnaes_2019.1$FTE_individual %>% sum
# ingressantes
alunos2019.1 %>% filter(., !(alunos2019.1$identificador %in% alunos_em_comum) &
(ano_ingresso == "2019")) %>%
arrange(., identificador) %>%
mutate(.,FTE_individual=carga_horaria_total/(2*CH_media)) -> ingressantes_2019.1
#ingressantes_2019.1$FTE_individual %>% sum
# <3> Alunos matriculados apenas em 2019.2:
alunos2019.2 %>% filter(., !(alunos2019.2$identificador %in% alunos_em_comum)) %>%
arrange(., identificador) %>% mutate(., FTE_individual=carga_horaria_total/(2*CH_media)) %>%
FTE_Area(., Areas_THE) -> tabela_por_Area2019.2
# pnaes
alunos2019.2 %>% filter(., !(alunos2019.2$identificador %in% alunos_em_comum) &
!is.na(pnaes)) %>%
arrange(., identificador) %>%
mutate(.,FTE_individual=carga_horaria_total/(2*CH_media)) -> pnaes_2019.2
#pnaes_2019.2$FTE_individual %>% sum
# ingressantes
alunos2019.2 %>% filter(., !(alunos2019.2$identificador %in% alunos_em_comum) &
(ano_ingresso == "2019")) %>%
arrange(., identificador) %>%
mutate(.,FTE_individual=carga_horaria_total/(2*CH_media)) -> ingressantes_2019.2
#ingressantes_2019.2$FTE_individual %>% sum
cbind(Area = tabela_por_Area$Area, tabela_por_Area[ ,2:3] +
tabela_por_Area2019.1[ ,2:3] +
tabela_por_Area2019.2[ ,2:3]) -> tabela_final_grad_area
tabela_final_grad_area %>%
datatable(., rownames = FALSE) %>%
formatRound(columns=c('Matriculados', 'FTE'), digits=3) ## FTE Matriculados
## 6727.711 8940.000
# FTE pnaes
pnaes_2019.1$FTE_individual %>% sum +
pnaes_2019.2$FTE_individual %>% sum +
pnaes_comum$FTE_individual %>% sum## [1] 1566.506
# FTE ingressantes
ingressantes_comum$FTE_individual %>% sum +
ingressantes_2019.1$FTE_individual %>% sum +
ingressantes_2019.2$FTE_individual %>% sum## [1] 1558.854
# FTE ingressantes por sexo
full_join(ingressantes_comum %>% group_by(sexo) %>% summarise(FTE = sum(FTE_individual)),
ingressantes_2019.1 %>% group_by(sexo) %>% summarise(FTE = sum(FTE_individual)),
by="sexo") %>%
full_join(., ingressantes_2019.2 %>% group_by(sexo) %>%
summarise(FTE = sum(FTE_individual)), by = "sexo") %>%
mutate(FTE_TOTAL = FTE.x+FTE.y+FTE) %>% as.data.frame -> FTE_ingressantes_por_sexo
FTE_ingressantes_por_sexo## sexo FTE.x FTE.y FTE FTE_TOTAL
## 1 F 457.6427 24.91791 217.6667 700.2273
## 2 M 571.4833 37.28102 249.8624 858.6267
# FTE por sexo ------------------------------------------------------------
alunos_em_comum_total = data.frame(matricula = alunos_em_comum_1$identificador,
curso = alunos_em_comum_1$curso,
carga_horaria_total = alunos_em_comum_1$carga_horaria_total +
alunos_em_comum_2$carga_horaria_total,
CH_media = alunos_em_comum_1$CH_media,
Area = alunos_em_comum_1$Area,
sexo = alunos_em_comum_1$sexo)
alunos_em_comum_total %>% mutate(., FTE_individual = carga_horaria_total/(2*CH_media)) ->
alunos_em_comum_total
# Por área de sexo
sexos_FTE = c("M", "F")
FTE_Sexo <- function(alunos, sexos_THE){
tabela_por_Sexo = data.frame(sexo = NA, FTE = NA, Matriculados = NA)
for(i in 1:length(sexos_THE)){
alunos_sexo = alunos %>% filter(., sexo == sexos_THE[i])
tabela_por_Sexo %>% rbind(., data.frame(sexo = sexos_THE[i],
Matriculados = nrow(alunos_sexo),
FTE = sum(alunos_sexo$FTE_individual))) -> tabela_por_Sexo
}
return(tabela_por_Sexo[-1, ])
}
# <1> Alunos que cursaram os dois semestres:
alunos_em_comum_total$sexo %>% unique -> sexos_THE
tabela_por_Sexo = FTE_Sexo(alunos_em_comum_total, sexos_THE)
# <2> Alunos matriculados apenas em 2019.1:
alunos2019.1 %>% filter(., !(alunos2019.1$identificador %in% alunos_em_comum)) %>%
arrange(., identificador) %>% mutate(.,FTE_individual=carga_horaria_total/(2*CH_media)) %>%
FTE_Sexo(., sexos_THE) -> tabela_por_Sexo2019.1
# <3> Alunos identificadordos apenas em 2019.2:
alunos2019.2 %>% filter(., !(alunos2019.2$identificador %in% alunos_em_comum)) %>%
arrange(., identificador) %>% mutate(., FTE_individual=carga_horaria_total/(2*CH_media)) %>%
FTE_Sexo(., sexos_THE) -> tabela_por_Sexo2019.2
# Total
cbind(Sexo = tabela_por_Sexo$sexo, tabela_por_Sexo[ ,2:3] +
tabela_por_Sexo2019.1[ ,2:3] +
tabela_por_Sexo2019.2[ ,2:3]) -> tabela_final_grad_sexo
tabela_final_grad_sexo %>%
datatable(., rownames = FALSE) %>%
formatRound(columns=c('Matriculados', 'FTE'), digits=3) ## FTE Matriculados
## 6727.711 8940.000
# FTE masc. grad. area ----------------------------------------------------
# Abrir conjunto de dados dos alunos 2018.1
alunos2019.1 <- read_csv("Discentes da Graduacao 20191.csv",
locale = locale(encoding = "ISO-8859-1")) %>% tidyr::drop_na("carga_horaria_total")
#View(alunos2019.1)
alunos2019.1 %>% filter(., sexo=="M") -> alunos2019.1
# Abrir conjunto de dados dos alunos 2019.1
alunos2019.2 <- read_csv("Discentes da Graduacao 20192.csv",
locale = locale(encoding = "ISO-8859-1")) %>% tidyr::drop_na("carga_horaria_total")
alunos2019.2 %>% filter(., sexo=="M") -> alunos2019.2
#View(alunos2019.2)
# Abrir áreas dos cursos
dados_alunos_para_WUR_2016 <- read_excel("dados alunos para WUR 2016.xlsx", sheet = "area_turno",
col_types = c("text", "skip", "text"))
# Pegando cada curso e tirando a média (independente de turno e campus)
carga_horaria_cursos_graduacao_ufersa %>%
group_by(curso) %>%
summarise(., CH_media = mean(CH_media)) -> carga_horaria_cursos_graduacao_ufersa
# INNER JOIN
inner_join(alunos2019.1, carga_horaria_cursos_graduacao_ufersa, by="curso") %>%
inner_join(., dados_alunos_para_WUR_2016, by="curso") -> alunos2019.1
# INNER JOIN
inner_join(alunos2019.2, carga_horaria_cursos_graduacao_ufersa, by="curso") %>%
inner_join(., dados_alunos_para_WUR_2016, by="curso") -> alunos2019.2
# Conjunto dos alunos que estudaram o primeiro e segundo semestres:
alunos_em_comum = intersect(alunos2019.1$identificador, alunos2019.2$identificador)
# Dados destes alunos no semestre 1:
alunos2019.1 %>% filter(., alunos2019.1$identificador %in% alunos_em_comum) %>%
arrange(., identificador) -> alunos_em_comum_1
# Dados destes alunos no semestre 2:
alunos2019.2 %>% filter(., alunos2019.2$identificador %in% alunos_em_comum) %>%
arrange(., identificador) -> alunos_em_comum_2
alunos_em_comum_total = data.frame(matricula = alunos_em_comum_1$identificador,
curso = alunos_em_comum_1$curso,
carga_horaria_total = alunos_em_comum_1$carga_horaria_total +
alunos_em_comum_2$carga_horaria_total,
CH_media = alunos_em_comum_1$CH_media,
Area = alunos_em_comum_1$Area)
alunos_em_comum_total %>% mutate(., FTE_individual = carga_horaria_total/(2*CH_media)) ->
alunos_em_comum_total
# Por área de conhecimento
FTE_Area <- function(alunos, Areas_THE){
tabela_por_Area = data.frame(Area = NA, FTE = NA, Matriculados = NA)
for(i in 1:length(Areas_THE)){
alunos_Area = alunos %>% filter(., Area == Areas_THE[i])
tabela_por_Area %>% rbind(., data.frame(Area = Areas_THE[i],
Matriculados = nrow(alunos_Area),
FTE = sum(alunos_Area$FTE_individual))) -> tabela_por_Area
}
return(tabela_por_Area[-1, ])
}
# <1> Alunos que cursaram os dois semestres:
alunos_em_comum_total$Area %>% unique -> Areas_THE
tabela_por_Area = FTE_Area(alunos_em_comum_total, Areas_THE)
#print(tabela_por_Area$Matriculados %>% sum)
# <2> Alunos matriculados apenas em 2019.1:
alunos2019.1 %>% filter(., !(alunos2019.1$identificador %in% alunos_em_comum)) %>%
arrange(., identificador) %>% mutate(.,FTE_individual=carga_horaria_total/(2*CH_media)) %>%
FTE_Area(., Areas_THE) -> tabela_por_Area2019.1
#print(tabela_por_Area2018.1$Matriculados %>% sum)
# <3> Alunos matriculados apenas em 2019.2:
alunos2019.2 %>% filter(., !(alunos2019.2$identificador %in% alunos_em_comum)) %>%
arrange(., identificador) %>% mutate(., FTE_individual=carga_horaria_total/(2*CH_media)) %>%
FTE_Area(., Areas_THE) -> tabela_por_Area2019.2
#print(tabela_por_Area2018.2$Matriculados %>% sum)
# Total
cbind(Area = tabela_por_Area$Area, tabela_por_Area[ ,2:3] +
tabela_por_Area2019.1[ ,2:3] +
tabela_por_Area2019.2[ ,2:3]) -> tabela_final_grad_area_M
tabela_final_grad_area_M %>%
datatable(., rownames = FALSE) %>%
formatRound(columns=c('Matriculados', 'FTE'), digits=3) ## FTE Matriculados
## 3636.523 4974.000
# FTE fem. grad. area -----------------------------------------------------
# Abrir conjunto de dados dos alunos 2018.1
alunos2019.1 <- read_csv("Discentes da Graduacao 20191.csv",
locale = locale(encoding = "ISO-8859-1")) %>% tidyr::drop_na("carga_horaria_total")
#View(alunos2019.1)
alunos2019.1 %>% filter(., sexo=="F") -> alunos2019.1
# Abrir conjunto de dados dos alunos 2019.1
alunos2019.2 <- read_csv("Discentes da Graduacao 20192.csv",
locale = locale(encoding = "ISO-8859-1")) %>% tidyr::drop_na("carga_horaria_total")
alunos2019.2 %>% filter(., sexo=="F") -> alunos2019.2
#View(alunos2019.2)
# Abrir áreas dos cursos
dados_alunos_para_WUR_2016 <- read_excel("dados alunos para WUR 2016.xlsx", sheet = "area_turno",
col_types = c("text", "skip", "text"))
# Pegando cada curso e tirando a média (independente de turno e campus)
carga_horaria_cursos_graduacao_ufersa %>%
group_by(curso) %>%
summarise(., CH_media = mean(CH_media)) -> carga_horaria_cursos_graduacao_ufersa
# INNER JOIN
inner_join(alunos2019.1, carga_horaria_cursos_graduacao_ufersa, by="curso") %>%
inner_join(., dados_alunos_para_WUR_2016, by="curso") -> alunos2019.1
# INNER JOIN
inner_join(alunos2019.2, carga_horaria_cursos_graduacao_ufersa, by="curso") %>%
inner_join(., dados_alunos_para_WUR_2016, by="curso") -> alunos2019.2
# Conjunto dos alunos que estudaram o primeiro e segundo semestres:
alunos_em_comum = intersect(alunos2019.1$identificador, alunos2019.2$identificador)
# Dados destes alunos no semestre 1:
alunos2019.1 %>% filter(., alunos2019.1$identificador %in% alunos_em_comum) %>%
arrange(., identificador) -> alunos_em_comum_1
# Dados destes alunos no semestre 2:
alunos2019.2 %>% filter(., alunos2019.2$identificador %in% alunos_em_comum) %>%
arrange(., identificador) -> alunos_em_comum_2
alunos_em_comum_total = data.frame(matricula = alunos_em_comum_1$identificador,
curso = alunos_em_comum_1$curso,
carga_horaria_total = alunos_em_comum_1$carga_horaria_total +
alunos_em_comum_2$carga_horaria_total,
CH_media = alunos_em_comum_1$CH_media,
Area = alunos_em_comum_1$Area)
alunos_em_comum_total %>% mutate(., FTE_individual = carga_horaria_total/(2*CH_media)) ->
alunos_em_comum_total
# Por área de conhecimento
FTE_Area <- function(alunos, Areas_THE){
tabela_por_Area = data.frame(Area = NA, FTE = NA, Matriculados = NA)
for(i in 1:length(Areas_THE)){
alunos_Area = alunos %>% filter(., Area == Areas_THE[i])
tabela_por_Area %>% rbind(., data.frame(Area = Areas_THE[i],
Matriculados = nrow(alunos_Area),
FTE = sum(alunos_Area$FTE_individual))) -> tabela_por_Area
}
return(tabela_por_Area[-1, ])
}
# <1> Alunos que cursaram os dois semestres:
alunos_em_comum_total$Area %>% unique -> Areas_THE
tabela_por_Area = FTE_Area(alunos_em_comum_total, Areas_THE)
#print(tabela_por_Area$Matriculados %>% sum)
# <2> Alunos matriculados apenas em 2019.1:
alunos2019.1 %>% filter(., !(alunos2019.1$identificador %in% alunos_em_comum)) %>%
arrange(., identificador) %>% mutate(.,FTE_individual=carga_horaria_total/(2*CH_media)) %>%
FTE_Area(., Areas_THE) -> tabela_por_Area2019.1
#print(tabela_por_Area2019.1$Matriculados %>% sum)
# <3> Alunos matriculados apenas em 2019.2:
alunos2019.2 %>% filter(., !(alunos2019.2$identificador %in% alunos_em_comum)) %>%
arrange(., identificador) %>% mutate(., FTE_individual=carga_horaria_total/(2*CH_media)) %>%
FTE_Area(., Areas_THE) -> tabela_por_Area2019.2
#print(tabela_por_Area2018.2$Matriculados %>% sum)
# Total
cbind(Area = tabela_por_Area$Area, tabela_por_Area[ ,2:3] +
tabela_por_Area2019.1[ ,2:3] +
tabela_por_Area2019.2[ ,2:3]) -> tabela_final_grad_area_F
tabela_final_grad_area_F %>%
datatable(., rownames = FALSE) %>%
formatRound(columns=c('Matriculados', 'FTE'), digits=3) ## FTE Matriculados
## 3091.188 3966.000
# FTE pos por sexo --------------------------------------------------------
# Abrir conjunto de dados dos alunos 2019.1
alunos2019.1 = read_csv("Discentes de Mestrado e Doutorado 20191.csv",
locale = locale(encoding = "ISO-8859-1"))
# Abrir conjunto de dados dos alunos 2019.2
alunos2019.2 = read_csv("Discentes de Mestrado e Doutorado 20192.csv",
locale = locale(encoding = "ISO-8859-1"))
# Abrir áreas dos cursos
dados_alunos_para_WUR_2016 <- read_excel("cursos_pos_WUR_2021.xlsx", col_types = c("text","text"))
# Conjunto dos alunos que estudaram o primeiro e segundo semestres:
alunos_em_comum = intersect(alunos2019.1$identificador, alunos2019.2$identificador)
# Dados destes alunos no semestre 1:
alunos2019.1 %>% filter(., alunos2019.1$identificador %in% alunos_em_comum) %>%
arrange(., identificador) -> alunos_em_comum_1
# Dados destes alunos no semestre 2:
alunos2019.2 %>% filter(., alunos2019.2$identificador %in% alunos_em_comum) %>%
arrange(., identificador) -> alunos_em_comum_2
# Total de alunos nos dois semestres:
# Alunos somente em 2019.1
alunos_so_2019.1 = alunos2019.1 %>%
filter(., !(alunos2019.1$identificador %in% alunos_em_comum)) %>% arrange(., identificador)
# Alunos somente em 2019.2
alunos_so_2019.2 = alunos2019.2 %>%
filter(., !(alunos2019.2$identificador %in% alunos_em_comum)) %>% arrange(., identificador)
# Masculino
M_comum = alunos_em_comum_1 %>% filter(., sexo=="M") %>% nrow
# Feminino
F_comum = alunos_em_comum_1 %>% filter(., sexo=="F") %>% nrow
# Masculino
M2019.1 = (alunos_so_2019.1 %>% filter(., sexo=="M") %>% nrow)/2
# Feminino
F2019.1 = (alunos_so_2019.1 %>% filter(., sexo=="F") %>% nrow)/2
# Masculino
M2019.2 = (alunos_so_2019.2 %>% filter(., sexo=="M") %>% nrow)/2
# Feminino
F2019.2 = (alunos_so_2019.2 %>% filter(., sexo=="F") %>% nrow)/2
FTE_pos_sexo = data.frame(Masculino = M_comum + M2019.1 + M2019.2, Feminino = F_comum + F2019.1 + F2019.2) %>%
mutate(Total = Masculino + Feminino)
DT::datatable(FTE_pos_sexo, rownames = FALSE) # FTE pos por area --------------------------------------------------------
# Adicionando a informação da área:
inner_join(alunos_em_comum_1, dados_alunos_para_WUR_2016, by="curso") -> alunos_em_comum_com_area
alunos_em_comum_com_area %>% count(Area) -> FTE_pos_area_comum
#sum(FTE_pos_area_comum$n)
#alunos_em_comum_com_area %>% group_by(Area) %>% summarise(n=n())
inner_join(alunos_so_2019.1, dados_alunos_para_WUR_2016, by="curso") -> alunos2019.1_com_area
alunos2019.1_com_area %>% count(Area) -> FTE_pos_area_2019.1
FTE_pos_area_2019.1$n = FTE_pos_area_2019.1$n/2
#sum(FTE_pos_area_2019.1$n)
inner_join(alunos_so_2019.2, dados_alunos_para_WUR_2016, by="curso") -> alunos2019.2_com_area
alunos2019.2_com_area %>% count(Area) -> FTE_pos_area_2019.2
FTE_pos_area_2019.2$n = FTE_pos_area_2019.2$n/2
#sum(FTE_pos_area_2019.2$n)
full_join(FTE_pos_area_comum, FTE_pos_area_2019.1, by="Area") %>% full_join(., FTE_pos_area_2019.2, by="Area") %>%
mutate(FTE = rowSums(select(., n.x:n), na.rm=TRUE)) -> tabela_final
tabela_final[is.na(tabela_final)] <- 0
tabela_final %>% as.data.frame() -> FTE_pos_area
colnames(FTE_pos_area) = c("Area", "2019.1-2019.2", "so_2019.1", "so2019.2", "FTE")
DT::datatable(FTE_pos_area)## [1] 548.5
# Pos Masc por area -------------------------------------------------------
# Adicionando a informação da área:
inner_join(alunos_em_comum_1, dados_alunos_para_WUR_2016, by="curso") %>%
filter(., sexo=="M") -> alunos_em_comum_com_area
alunos_em_comum_com_area %>% count(Area) -> FTE_pos_area_comum
#sum(FTE_pos_area_comum$n)
inner_join(alunos_so_2019.1, dados_alunos_para_WUR_2016, by="curso") %>%
filter(., sexo=="M") -> alunos2019.1_com_area
alunos2019.1_com_area %>% count(Area) -> FTE_pos_area_2019.1
FTE_pos_area_2019.1$n = FTE_pos_area_2019.1$n/2
#sum(FTE_pos_area_2019.1$n)
inner_join(alunos_so_2019.2, dados_alunos_para_WUR_2016, by="curso") %>%
filter(., sexo=="M") -> alunos2019.2_com_area
alunos2019.2_com_area %>% count(Area) -> FTE_pos_area_2019.2
FTE_pos_area_2019.2$n = FTE_pos_area_2019.2$n/2
#sum(FTE_pos_area_2019.2$n)
full_join(FTE_pos_area_comum, FTE_pos_area_2019.1, by="Area") %>% full_join(., FTE_pos_area_2019.2, by="Area") %>%
mutate(FTE = rowSums(select(., n.x:n), na.rm=TRUE)) -> tabela_final
tabela_final[is.na(tabela_final)] <- 0
tabela_final %>% as.data.frame() -> FTE_pos_area_homens
colnames(FTE_pos_area_homens) = c("Area", "2019.1-2019.2", "so_2019.1", "so2019.2", "FTE")
DT::datatable(FTE_pos_area_homens)## [1] 310.5
# Pos fem por area --------------------------------------------------------
# Adicionando a informação da área:
inner_join(alunos_em_comum_1, dados_alunos_para_WUR_2016, by="curso") %>%
filter(., sexo=="F") -> alunos_em_comum_com_area
alunos_em_comum_com_area %>% count(Area) -> FTE_pos_area_comum
#sum(FTE_pos_area_comum$n)
inner_join(alunos_so_2019.1, dados_alunos_para_WUR_2016, by="curso") %>%
filter(., sexo=="F") -> alunos2019.1_com_area
alunos2019.1_com_area %>% count(Area) -> FTE_pos_area_2019.1
FTE_pos_area_2019.1$n = FTE_pos_area_2019.1$n/2
#sum(FTE_pos_area_2019.1$n)
inner_join(alunos_so_2019.2, dados_alunos_para_WUR_2016, by="curso") %>%
filter(., sexo=="F") -> alunos2019.2_com_area
alunos2019.2_com_area %>% count(Area) -> FTE_pos_area_2019.2
FTE_pos_area_2019.2$n = FTE_pos_area_2019.2$n/2
#sum(FTE_pos_area_2019.2$n)
full_join(FTE_pos_area_comum, FTE_pos_area_2019.1, by="Area") %>% full_join(., FTE_pos_area_2019.2, by="Area") %>%
mutate(FTE = rowSums(select(., n.x:n), na.rm=TRUE)) -> tabela_final
tabela_final[is.na(tabela_final)] <- 0
tabela_final %>% as.data.frame() -> FTE_pos_area_F
colnames(FTE_pos_area_F) = c("Area", "2019.1-2019.2", "so_2019.1", "so2019.2", "FTE")
DT::datatable(FTE_pos_area_F)## [1] 238
# FTE geral por area ------------------------------------------------------
tabela_final_FTE_area = full_join(FTE_pos_area[,c(1,5)], tabela_final_grad_area[,c(1,2)], by="Area")
tabela_final_FTE_area[is.na(tabela_final_FTE_area)] <- 0
tabela_final_FTE_area %>% as.data.frame() -> FTE_geral_area
FTE_geral_area = FTE_geral_area %>% mutate(FTE_total_area = FTE.x + FTE.y)
colnames(FTE_geral_area) = c("Area", "FTE_posGrad", "FTE_Grad", "FTE_Geral")
DT::datatable(FTE_geral_area, rownames=FALSE) %>% formatRound(columns=c('FTE_posGrad', 'FTE_Grad', 'FTE_Geral'), digits=3)## [1] 7276.211
# FTE pos por nivel -------------------------------------------------------
# Mestrado
M_comum = alunos_em_comum_1 %>% filter(., !startsWith(curso, "DOUTORADO")) %>% nrow
# doutorado
D_comum = alunos_em_comum_1 %>% filter(., startsWith(curso, "DOUTORADO")) %>% nrow
# Mestrado
M2019.1 = (alunos_so_2019.1 %>%
filter(., !startsWith(curso, "DOUTORADO")) %>% nrow)/2 # só ficou metade do ano, conta como meio aluno equi
# doutorado
D2019.1 = (alunos_so_2019.1 %>% filter(., startsWith(curso, "DOUTORADO")) %>% nrow)/2
# mestrado
M2019.2 = (alunos_so_2019.2 %>%
filter(., !startsWith(curso, "DOUTORADO")) %>% nrow)/2
# doutorado
D2019.2 = (alunos_so_2019.2 %>% filter(., startsWith(curso, "DOUTORADO")) %>% nrow)/2
FTE_pos_nivel_pos = data.frame(Mestrado = M_comum + M2019.1 + M2019.2, Doutorado = D_comum + D2019.1 + D2019.2) %>%
mutate(Total = Mestrado + Doutorado)
DT::datatable(FTE_pos_nivel_pos, rownames = FALSE) # Adicionando a informação da área:
inner_join(alunos_em_comum_1, dados_alunos_para_WUR_2016, by="curso") %>%
filter(., !startsWith(curso, "DOUTORADO")) -> alunos_em_comum_com_area
alunos_em_comum_com_area %>% count(Area) -> FTE_pos_area_comum
#sum(FTE_pos_area_comum$n)
inner_join(alunos_so_2019.1, dados_alunos_para_WUR_2016, by="curso") %>%
filter(., !startsWith(curso, "DOUTORADO")) -> alunos2019.1_com_area
alunos2019.1_com_area %>% count(Area) -> FTE_pos_area_2019.1
FTE_pos_area_2019.1$n = FTE_pos_area_2019.1$n/2
#sum(FTE_pos_area_2019.1$n)
inner_join(alunos_so_2019.2, dados_alunos_para_WUR_2016, by="curso") %>%
filter(., !startsWith(curso, "DOUTORADO")) -> alunos2019.2_com_area
alunos2019.2_com_area %>% count(Area) -> FTE_pos_area_2019.2
FTE_pos_area_2019.2$n = FTE_pos_area_2019.2$n/2
#sum(FTE_pos_area_2019.2$n)
full_join(FTE_pos_area_comum, FTE_pos_area_2019.1, by="Area") %>% full_join(., FTE_pos_area_2019.2, by="Area") %>%
mutate(FTE = rowSums(select(., n.x:n), na.rm=TRUE)) -> tabela_final
tabela_final[is.na(tabela_final)] <- 0
tabela_final %>% as.data.frame() -> FTE_pos_area_M
colnames(FTE_pos_area_M) = c("Area", "2019.1-2019.2", "so_2019.1", "so2019.2", "FTE")
DT::datatable(FTE_pos_area_M)## [1] 438.5
# FTE doutorado por area --------------------------------------------------
# Adicionando a informação da área:
inner_join(alunos_em_comum_1, dados_alunos_para_WUR_2016, by="curso") %>%
filter(., startsWith(curso, "DOUTORADO")) -> alunos_em_comum_com_area
alunos_em_comum_com_area %>% count(Area) -> FTE_pos_area_comum
#sum(FTE_pos_area_comum$n)
inner_join(alunos_so_2019.1, dados_alunos_para_WUR_2016, by="curso") %>%
filter(., startsWith(curso, "DOUTORADO")) -> alunos2019.1_com_area
alunos2019.1_com_area %>% count(Area) -> FTE_pos_area_2019.1
FTE_pos_area_2019.1$n = FTE_pos_area_2019.1$n/2
#sum(FTE_pos_area_2019.1$n)
inner_join(alunos_so_2019.2, dados_alunos_para_WUR_2016, by="curso") %>%
filter(., startsWith(curso, "DOUTORADO")) -> alunos2019.2_com_area
alunos2019.2_com_area %>% count(Area) -> FTE_pos_area_2019.2
FTE_pos_area_2019.2$n = FTE_pos_area_2019.2$n/2
#sum(FTE_pos_area_2019.2$n)
full_join(FTE_pos_area_comum, FTE_pos_area_2019.1, by="Area") %>% full_join(., FTE_pos_area_2019.2, by="Area") %>%
mutate(FTE = rowSums(select(., n.x:n), na.rm=TRUE)) -> tabela_final
tabela_final[is.na(tabela_final)] <- 0
tabela_final %>% as.data.frame() -> FTE_pos_area_M
colnames(FTE_pos_area_M) = c("Area", "2019.1-2019.2", "so_2019.1", "so2019.2", "FTE")
DT::datatable(FTE_pos_area_M)# FTE geral masc ----------------------------------------------------------
# tabela_final_FTE_area = full_join(tabela_final_grad_area_M[,c(1,2)], FTE_pos_area_M[,c(1,5)], by="Area")
#
# tabela_final_FTE_area[is.na(tabela_final_FTE_area)] <- 0
# tabela_final_FTE_area %>% as.data.frame() -> FTE_geral_area
#
#
# FTE_geral_area = FTE_geral_area %>% mutate(FTE_total_area = FTE.x + FTE.y)
# colnames(FTE_geral_area) = c("Area", "FTE_Grad", "FTE_posGrad", "FTE_Geral")
#
#
# DT::datatable(FTE_geral_area, rownames=FALSE) %>% formatRound(columns=c('FTE_Grad', 'FTE_posGrad', 'FTE_Geral'), digits=3)
#
#
# sum(FTE_geral_area$FTE_Geral)
tabela_final_FTE_area = full_join(tabela_final_grad_area_M[,c(1,2)], FTE_pos_area_homens[,c(1,5)], by="Area")
tabela_final_FTE_area[is.na(tabela_final_FTE_area)] <- 0
tabela_final_FTE_area %>% as.data.frame() -> FTE_geral_area
FTE_geral_area = FTE_geral_area %>% mutate(FTE_total_area = FTE.x + FTE.y)
colnames(FTE_geral_area) = c("Area", "FTE_Grad", "FTE_posGrad", "FTE_Geral")
DT::datatable(FTE_geral_area, rownames=FALSE) %>% formatRound(columns=c('FTE_Grad', 'FTE_posGrad', 'FTE_Geral'), digits=3) ## [1] 3947.023
# FTE geral fem -----------------------------------------------------------
tabela_final_FTE_area = full_join(tabela_final_grad_area_F[,c(1,2)], FTE_pos_area_F[,c(1,5)], by="Area")
tabela_final_FTE_area[is.na(tabela_final_FTE_area)] <- 0
tabela_final_FTE_area %>% as.data.frame() -> FTE_geral_area
FTE_geral_area = FTE_geral_area %>% mutate(FTE_total_area = FTE.x + FTE.y)
colnames(FTE_geral_area) = c("Area", "FTE_Grad", "FTE_posGrad", "FTE_Geral")
DT::datatable(FTE_geral_area, rownames=FALSE) %>% formatRound(columns=c('FTE_Grad', 'FTE_posGrad', 'FTE_Geral'), digits=3) ## [1] 3329.188
# FTE da UFERSA (graduacao + pos) -----------------------------------------
sum(tabela_final_grad_sexo$FTE + FTE_pos_sexo[1:2])## [1] 7276.211
# Numero de formados ------------------------------------------------------
# graduacao
graduados <- read_csv("graduados 2019 (Impact Ranking 2021).csv",
locale = locale(encoding = "ISO-8859-1"))
#dim(graduados)
pos_graduados <- read_csv("posgraduados 2019 (Impact Ranking 2021).csv",
locale = locale(encoding = "ISO-8859-1"))
pos_graduados$curso <- gsub(",","",pos_graduados$curso)
#dim(pos_graduados)
# Graduacao ---------------------------------------------------------------
# Abrir áreas dos cursos
dados_alunos_para_WUR_2016 <- read_excel("dados alunos para WUR 2016.xlsx", sheet = "area_turno", col_types = c("text", "skip", "text"))
dados_alunos_para_WUR_2016 %>% filter(., !startsWith(curso, "PÓS-GRADUAÇÃO")) %>%
filter(., !startsWith(curso, "MESTRADO")) %>%
filter(., !startsWith(curso, "RESIDÊNCIA")) %>%
filter(., !startsWith(curso, "ESPECIALIZAÇÃO")) -> graduacoes
left_join(graduados, graduacoes, by="curso") -> formados_grad
# todos os que estavam como NA na area eram de BCT:
#formados_grad %>% filter(., is.na(Area)) #%>% View
#formados_grad %>% tidyr::replace_na(list(Area="Engenharia e Tecnologia")) -> formados_grad
formados_grad %>% group_by(Area) %>% summarise(n = n()) -> qt.graduados
DT::datatable(qt.graduados, rownames = FALSE)# MESTRADO ----------------------------------------------------------------
pos_cursos <- read_excel("./cursos_pos_WUR_2021.xlsx", col_types = c("text","text"))
pos_graduados %>% filter(startsWith(curso, "MESTRADO")) -> formados_mestrado
left_join(formados_mestrado, pos_cursos, by="curso") -> formados_mestrado
# eliminando os sem area (sao do doutorado)
formados_mestrado[complete.cases(formados_mestrado$Area),] -> formados_mestrado
# todos os que estavam como NA na area eram de BCT:
formados_mestrado %>% group_by(Area) %>% summarise(n = n()) -> qt.mestres
DT::datatable(qt.mestres, rownames = FALSE)# Doutorado ---------------------------------------------------------------
pos_graduados %>% filter(startsWith(curso, "DOUTORADO")) -> formados_doutorado
left_join(formados_doutorado, pos_cursos, by="curso") -> formados_doutorado
formados_doutorado %>% group_by(Area) %>% summarise(n = n()) -> qt.doutores
DT::datatable(qt.doutores, rownames = FALSE)# Graduados em cursos relativos a agua ------------------------------------
# headcount dos alunos em cursos relativos a água (2019.2):
filtro_agua_grad = c("AGRONOMIA", "ECOLOGIA","ENGENHARIA AGRÍCOLA E AMBIENTAL",
"ENGENHARIA AMBIENTAL E SANITÁRIA", "ENGENHARIA DE PESCA",
"ENGENHARIA FLORESTAL", "MEDICINA VETERINÁRIA")
filtro_agua_pos = c("MESTRADO EM MANEJO DE SOLO E ÁGUA", "MESTRADO EM PRODUÇÃO ANIMAL",
"MESTRADO EM FITOTECNIA", "MESTRADO EM CIÊNCIA ANIMAL",
"DOUTORADO EM MANEJO DE SOLO E ÁGUA",
"DOUTORADO EM AGRONOMIA / FITOTECNIA", "DOUTORADO EM CIÊNCIA ANIMAL",
"MESTRADO EM ECOLOGIA E CONSERVAÇÃO")
(graduados %>% filter(curso %in% filtro_agua_grad) %>% dim)[1] +
(pos_graduados %>% filter(curso %in% filtro_agua_pos) %>% dim)[1]## [1] 309
This is the headcount number of graduates at all levels from your institution who gained a qualification that entitled them to teach at primary school level, referring to year 2019.
Incluídos os cursos de Letras/ Libras, Letras/Inglês, Computação e Informática, Computação (EAD).
# Graduados em LICENCIATURAS ------------------------------------
# headcount dos alunos em cursos relativos a água (2019.2):
filtro_lic_grad = c("LETRAS/INGLÊS", "LETRAS / LIBRAS", "MATEMÁTICA", "COMPUTAÇÃO",
"COMPUTAÇÃO E INFORMÁTICA")
(graduados %>% filter(curso %in% filtro_agua_grad) %>% dim)[1] ## [1] 200
Aqui, utilizamos a pesquisa realizada via SIGAA para estimar o total de ingressantes que são os primeiros de sua família próxima a iniciar um curso superior. Consideramos os alunos de graduação.
# Estudantes de primeira geracao ------------------------------------------
# Numero de estudantes que sao os primeiros da
# familia a cursar o ensino superior,
# segundo a pesquisa feita no SIGAA
questionario_tratado <- read_excel("questionario_tratado.xlsx")
#View(questionario_tratado)
# questionario respondido por 5010 alunos
questionario_tratado %>%
mutate(resposta_dummy = ifelse(primeiro_familia == "Sim", 1, 0)) -> questionario
# Number of first-generation students starting a degree
questionario %>% filter(nivel=="Graduação") %>%
group_by(primeiro_familia) %>% summarise(n=n()) %>%
mutate(percentual = n / sum(n)) -> percentual_quest
# extrapolando o resultado, 40.7 % dos ingressantes sao os primeiros da familia:
# 1558.85 * 0.407
1558.85 * 0.407## [1] 634.4519
# Percentual de mulheres na graduacao que responderam sim a pergunta:
questionario %>% filter(nivel=="Graduação") %>%
group_by(primeiro_familia, sexo) %>% summarise(n=n()) %>%
mutate(percentual = n / sum(n)) %>%
filter(primeiro_familia == "Sim" & sexo=="Feminino") -> percentual_quest_fem
percentual_quest_fem$percentual * (FTE_ingressantes_por_sexo %>% filter(sexo=="F"))$FTE_TOTAL## [1] 316.0573
Desenvolvido por Kássio Camelo
kassio.silva@ufersa.edu.br