Explorando dados abertos do SISU 2021
Mateus Silva Figueiredo
2023-09-22
Dados abertos do SISU 2021
O site dadosabertos.mec.gov.br possui microdados detalhados sobre diversos programas do MEC. Aqui, serão utilizados os microdados do SISU 2021. Há um arquivo para a Chamada Regular, e um arquivo para a Lista de Espera.
Chamada Regular: https://dadosabertos.mec.gov.br/sisu/item/166-2021-relatorio-sisu-chamada-regular-1-2021
Lista de Espera: https://dadosabertos.mec.gov.br/sisu/item/167-2021-relatorio-sisu-lista-de-espera-1-2021
Após baixar os arquivos, partimos para as análises.
Análise da Chamada Regular
Vamos obter os nomes das colunas dos dados. As colunas têm os mesmos nomes na Chamada Regular e na Lista de Espera, mas mudam de ano para ano.
colunas_reg_2021 <- fread("ListagemChamadaRegular_2021-1.csv",nrow=1,
encoding="Latin-1") %>% colnames()
colunas_reg_2021
## [1] "NU_ANO" "NU_EDICAO" "CO_ETAPA"
## [4] "DS_ETAPA" "CO_IES" "NO_IES"
## [7] "SIGLA_IES" "SG_UF_IES" "CO_CAMPUS"
## [10] "NO_CAMPUS" "SG_UF_CAMPUS" "NO_MUNUCIPIO_CAMPUS"
## [13] "CO_IES_CURSO" "NO_CURSO" "DS_GRAU"
## [16] "DS_TURNO" "TP_MOD_CONCORRENCIA" "DS_MOD_CONCORRENCIA"
## [19] "NU_PERCENTUAL_BONUS" "NU_PESO_L" "NU_PESO_CH"
## [22] "NU_PESO_CN" "NU_PESO_M" "NU_PESO_R"
## [25] "NOTA_MINIMA_L" "NOTA_MINIMA_CH" "NOTA_MINIMA_CN"
## [28] "NOTA_MINIMA_M" "NOTA_MINIMA_R" "MEDIA_MINIMA"
## [31] "NU_CPF" "CO_INSCRICAO_ENEM" "NO_INSCRITO"
## [34] "TP_SEXO" "DT_NASCIMENTO" "SG_UF_CANDIDATO"
## [37] "MUNICIPIO_CANDIDATO" "ST_OPCAO" "NU_NOTA_L"
## [40] "NU_NOTA_CH" "NU_NOTA_CN" "NU_NOTA_M"
## [43] "NU_NOTA_R" "NOTA_L_COM_PESO" "NOTA_CH_COM_PESO"
## [46] "NOTA_CN_COM_PESO" "NOTA_M_COM_PESO" "NOTA_R_COM_PESO"
## [49] "NU_NOTA_CANDIDATO" "NU_NOTACORTE" "NU_CLASSIFICACAO"
## [52] "ST_APROVADO" "ST_MATRICULA"
São 53 colunas nos dados do SISU 2021 Chamada Regular. Vamos selecionar apenas aquelas que nos interessam.
cols_21<-c("NU_ANO","CO_ETAPA","DS_ETAPA",
"SIGLA_IES",
"NO_INSCRITO","NU_CPF","CO_INSCRICAO_ENEM",
"ST_MATRICULA",
"ST_OPCAO","NU_CLASSIFICACAO","ST_APROVADO")
Tendo as colunas de interesse, vamos carregar todas as linhas da Chamada Regular, selecionando apenas as colunas desejadas.
dados_reg_21 <- fread("ListagemChamadaRegular_2021-1.csv",
# nrow=50, # caso queira carregar poucas linhas
select = cols_21,
dec=",")
Vamos realizar algumas análises.
Exploração dos dados
dados_reg_21 %>% nrow()
Há 2413686 linhas na base de dados da Chamada Regular.
Com a função table()
, conseguimos calcular a frequência
em que determinado valor aparece na coluna de interesse. Consultando as
colunas CO_ETAPA e DS_ETAPA:
table(dados_reg_21$CO_ETAPA)
table(dados_reg_21$DS_ETAPA)
…vemos que todos os estudantes estão na etapa 4, que tem descrição 1° CHAMADA.
Analisando a coluna ST_APROVADO:
table(dados_reg_21$ST_APROVADO)
##
## N S
## 2214729 198957
…vemos que há dois resultados possíveis: S ou N. Há 2214729 linhas com N, e 198957 linhas com S.
Analisando a coluna ST_MATRICULA:
table(dados_reg_21$ST_MATRICULA)
##
## CANCELADA DOCUMENTACAO REJEITADA EFETIVADA
## 1166 5509 114244
## NÃO COMPARECEU PENDENTE
## 78038 2214729
…vemos que há cinco respostas possíveis: CANCELADA, DOCUMENTACAO REJEITADA, EFETIVADA, NÃO COMPARECEU, PENDENTE.
O número de pessoas não aprovadas (N) é igual o número de pessoas com matrícula PENDENTE. O número de pessoas aprovadas (S) é igual a soma do número de pessoas nas outras quatro categorias (CANCELADA, DOCUMENTACAO REJEITADA, EFETIVADA, NÃO COMPARECEU). Ou seja, essas quatro categorias são destinos possíveis das pessoas aprovadas, enquanto todas as não aprovadas estão “pendentes”.
As pessoas aprovadas que não tiveram sua matrícula efetivada provavelmente tiveram suas vagas destinadas para a Lista de Espera. Somando os números de matrícula cancelada, documentação rejeitada e não compareceu, temos 84713 vagas que foram para a Lista de Espera, a serem preenchidas na Segunda Chamada em diante, presumidamente.
Comportamento dos inscritos
Quantas pessoas se inscreveram em apenas uma opção no SISU?
table(dados_reg_21$ST_OPCAO)
##
## 1 2
## 1250095 1163591
Há 1163591 linhas com OPÇÃO 2. 1250095 - 1163591 = 86504 estudantes se inscreveram em apenas uma opção.
Diferenciar cada inscrito
Na tentativa de diferenciar candidatos, podemos optar pelo Nome, CPF
e número de Inscrição no ENEM. No entanto, sozinhos, nenhum desses dados
são suficientes. O CPF e número de inscrição são incompletos, e por isso
também se repetem. Usando a função table()
descobrimos o
nome mais comum e sua frequência.
table_inscrito<-as.data.frame(table(dados_reg_21$NO_INSCRITO))
O nome MARIA EDUARDA DA SILVA é o mais comum, aparecendo 178 vezes.
Usando a função table(table())
descobrimos a frequência
do CPF e Número de Inscrição do ENEM mais frequentes.
table_cpf<-as.data.frame(table(dados_reg_21$NU_CPF))
tail(table(table(dados_reg_21$NU_CPF)))
##
## 16 17 18 19 20 24
## 122 14 24 2 7 1
table_enem<-as.data.frame(table(dados_reg_21$CO_INSCRICAO_ENEM))
tail(table(table(dados_reg_21$CO_INSCRICAO_ENEM)))
##
## 2568 2572 2584 2585 2589 2593
## 1 1 1 1 1 1
O CPF XXX.840.634-XX é o mais comum, aparecendo 24 vezes. O Número de Inscrição do ENEM 201XXXXXX061 é o mais comum, aparecendo 2593 vezes.
Assim, para fazer uma identificação única para cada estudante,
podemos criar uma coluna INSCRITO_CPF_ENEM. Usamos
gsub
para remover X e símbolos.
dados_reg_21$INSCRITO_CPF_ENEM <- paste(dados_reg_21$NO_INSCRITO,
gsub("[X.-]", "",dados_reg_21$NU_CPF),
gsub("[X]" , "",dados_reg_21$CO_INSCRICAO_ENEM))
table_table_inscrito_cpf_enem <- table(table(dados_reg_21$INSCRITO_CPF_ENEM))
table_table_inscrito_cpf_enem
##
## 1 2
## 86504 1163591
São 86504 estudantes que aparecem apenas uma vez na coluna INSCRITO_CPF_ENEM, o mesmo número de estudantes que se inscreveram apenas para uma opção. Os demais 1163591 estudantes se inscreveram para as duas opções a que tinham direito.
Análise da Lista de Espera
Vamos descobrir os nomes das colunas.
colunas_esp_2021 <- fread("ListagemListaEspera_2021-1.csv",nrow=1,
encoding="Latin-1") %>% colnames()
colunas_esp_2021
## [1] "NU_ANO" "NU_EDICAO" "CO_ETAPA"
## [4] "DS_ETAPA" "CO_IES" "NO_IES"
## [7] "SIGLA_IES" "SG_UF_IES" "CO_CAMPUS"
## [10] "NO_CAMPUS" "SG_UF_CAMPUS" "NO_MUNUCIPIO_CAMPUS"
## [13] "CO_IES_CURSO" "NO_CURSO" "DS_GRAU"
## [16] "DS_TURNO" "TP_MOD_CONCORRENCIA" "DS_MOD_CONCORRENCIA"
## [19] "NU_PERCENTUAL_BONUS" "NU_PESO_L" "NU_PESO_CH"
## [22] "NU_PESO_CN" "NU_PESO_M" "NU_PESO_R"
## [25] "NOTA_MINIMA_L" "NOTA_MINIMA_CH" "NOTA_MINIMA_CN"
## [28] "NOTA_MINIMA_M" "NOTA_MINIMA_R" "MEDIA_MINIMA"
## [31] "NU_CPF" "CO_INSCRICAO_ENEM" "NO_INSCRITO"
## [34] "TP_SEXO" "DT_NASCIMENTO" "SG_UF_CANDIDATO"
## [37] "MUNICIPIO_CANDIDATO" "ST_OPCAO" "NU_NOTA_L"
## [40] "NU_NOTA_CH" "NU_NOTA_CN" "NU_NOTA_M"
## [43] "NU_NOTA_R" "NOTA_L_COM_PESO" "NOTA_CH_COM_PESO"
## [46] "NOTA_CN_COM_PESO" "NOTA_M_COM_PESO" "NOTA_R_COM_PESO"
## [49] "NU_NOTA_CANDIDATO" "NU_NOTACORTE" "NU_CLASSIFICACAO"
## [52] "ST_APROVADO"
Aqui são apenas 52 colunas, com ausência da coluna ST_MATRICULA.
cols_21<-c("NU_ANO","CO_ETAPA","DS_ETAPA","SIGLA_IES",
# "NOTA_CANDIDATO","NOTA_CORTE", # ignorar estas colunas
"NO_INSCRITO","NU_CPF","CO_INSCRICAO_ENEM",
"ST_OPCAO",
#"ST_MATRICULA", # ignorar esta coluna
"NU_CLASSIFICACAO","ST_APROVADO")
Mantemos as mesmas colunas de interesse.
dados_esp_21 <- fread("ListagemListaEspera_2021-1.csv",
# nrow=50, # caso queira carregar poucas linhas
select = cols_21,
encoding="Latin-1",dec=",")
Vamos realizar análises semelhantes.
Exploração dos dados
dados_esp_21 %>% nrow()
Há 774313 linhas na base de dados da Lista de Espera.
Com a função table()
, conseguimos calcular a frequência
em que determinado valor aparece na coluna de interesse. Consultando as
colunas CO_ETAPA e DS_ETAPA:
table(dados_esp_21$CO_ETAPA)
table(dados_esp_21$DS_ETAPA)
…vemos que todos os estudantes estão na etapa 7, que tem descrição LISTA DE ESPERA.
Analisando a coluna ST_APROVADO:
table(dados_esp_21$ST_APROVADO)
##
## S
## 774313
…vemos que, diferente da etapa anterior, só há um resultado possível: todos os estudantes estão com código S. Há 774313 linhas com S.
Criando uma coluna INSCRITO_CPF_ENEM, para fazer uma identificação única para cada estudante…
dados_esp_21$INSCRITO_CPF_ENEM <- paste(dados_esp_21$NO_INSCRITO,
gsub("[X.-]", "",dados_esp_21$NU_CPF),
gsub("[X]" , "",dados_esp_21$CO_INSCRICAO_ENEM))
table_table_inscrito_cpf_enem <- table(table(dados_esp_21$INSCRITO_CPF_ENEM))
table_table_inscrito_cpf_enem
##
## 1
## 774313
…vemos que cada estudante só aparece uma vez, pois só podem concorrer a um curso na Lista de Espera.
Comportamento dos inscritos
Quantas pessoas estão com OPÇÃO 1 e quantas estão com OPÇÃO 2?
table(dados_esp_21$ST_OPCAO)
##
## 1 2
## 537777 236536
Há tanto estudantes na OPÇÃO 1 quanto na OPÇÃO 2.
Considerações
Os Dados Abertos permitem estudo detalhado do SISU, um processo seletivo para ingreso no ensino superior de suma importância. A transparência na divulgação dos dados é muito bem vinda, permite compreender melhor o processo e propor melhorias. Mesmo assim, esta iniciativa pode e deve ser aprimorada.
A falta de um Dicionário acompanhando estes Dados Abertos do SISU dificulta a análise por parte de pesquisadores. O Dicionário de Dados disponível no site do MEC não condiz exatamente com os dados disponibilizados, pois os nomes das colunas são diferentes. Também seria importante uma explicação mais detalhada do que quer dizer cada coluna e cada resultado. O que quer dizer o estudante ser “aprovado”? O que quer dizer a matrícula estar “pendente”? Se o estudante teve “documentação rejeitada”, ele está eliminado desta edição do SISU?
Ter uma identificação individual de cada estudante sem precisar recorrer a combinar várias colunas para isso facilitaria o trabalho do pesquisador. Poder se referir a estudantes com um número mais curto, sem ter que divulgar seu nome completo, protegeria a identidade destes estudantes e facilitaria a comunicação.
Os microdados do SISU 2022 possuem uma coluna referente a matrícula tanto nos dados da Chamada Regular quanto nos dados da Lista de Chamada. Isso indica um aprimoramento do serviço, mas ainda falta explicar as possíveis respostas para essa coluna.
Documento gerado em 2023-09-22 10:58:36.
"O SiSU 2021/1 ofertará 209.190, distribuídas em 5.685 mil cursos de graduação de 110 instituições públicas de educação superior." (Tancredi, 2021)
ResponderExcluir209.190 vagas ao todo.
198.957 estudantes com ST_APROVADO==S na 1ª chamada.
Diferença = 10.233 vagas para as quais não houve candidato habilitado inscrito aprovado.
Isso equivale a 4,8% das vagas. Parece um número razoável de vagas sem interessados.
Tancredi 2021: https://vestibular.mundoeducacao.uol.com.br/noticias/mec-libera-consulta-as-vagas-que-serao-oferecidas-no-sisu-2021-1/342376.html