Se realizará la medición de la deserción dentro de la UNICEN mediante el análisis de datos obtenidos de SIU Guaraní.

Lectura de datos

Primero, leemos los datos de SIU GUARANI y los pasamos a data frames

notas_finales <- read.csv("notas_finales.csv")
planes <- read.csv("planes.csv")
notas_cursadas <- read.csv("notas_cursadas.csv")
legajos <- read.csv("AlumnosLegCodificado.csv")

Limpieza y filtrado de datos

Cambiamos las fechas al formato estándar de las fechas en R y el nombre de una columna que se encontraba en mayúscula. A su vez, obtenemos los datos de los alumnos que pertenecen a la carrera de Ingeniería de Sistemas y que tengan el plan 2011. El código siguiente muestra lo implementado con el archivo de notas finales.

notas_finales <- notas_finales %>%
  filter(carrera==206 & plan==2011) %>% 
  mutate(fecha = as.Date(fecha,"%d/%m/%Y")) %>% 
  select("legajo","fecha","resultado","materia")

Filtrado de alumnos

Se realizó una función que filtra los alumnos y los clasifica en un data frame como alumnos: cursando, rindiendo, desertores, recibidos y recientes. Los recientes son aquellos que no tuvimos en cuenta para el análisis debido a que ingresaron hace muy poco tiempo.

filtrarAlumnos <-function(x,y){
  #Obtenemos los legajos anteriores a una fecha y
  legajos_anteriores <- filtrarAnios(y)
  
  #Obtenemos las notas de cursadas de los ultimos x anios
  notas_cursadas_recientes <- filtraAniosCursada(x)
  #Obtenemos los legajos de los alumnos que actualmente estan cursando y le asignamos la variable cursando = TRUE
  legajos_alumnos_cursando <- filtrarCursando(legajos_anteriores,notas_cursadas_recientes) %>% 
    mutate("cursando" = TRUE)
  
  #Obtenemos las notas de finales de los ultimos x anios
  notas_finales_recientes <- filtrarXAniosFinales(x)
  #Obtenemos los legajos de los alumnos que estan rindiendo y le asignamos la variable rindiendo = TRUE
  legajos_alumnos_rindiendo <- filtrarRindiendo(legajos_anteriores,notas_finales_recientes) %>% 
    select("legajo") %>% 
    mutate("rindiendo" = TRUE)
  
  #Obtenemos los alumnos recibidos y le asignamos la varibale recibido = TRUE
  legajos_alumnos_recibidos <- filtrarAlumnosRecibidos(legajos_anteriores) %>% 
    mutate("recibido" = TRUE)
  
  #Unimos todos los legajos de alumnos cursando, rindiendo y recibidos en un dataframe
  legajos_totales <- full_join(legajos_alumnos_cursando, legajos_alumnos_rindiendo, by = "legajo","estado")
  legajos_totales <- full_join(legajos_totales, legajos_alumnos_recibidos, by ="legajo","estado")
  #Le añadimos los alumnos mas recientes, que no tuvimos en cuenta para el filtrado
  legajos_alumnos_recientes <- subset(legajos, legajos$fecha_ingreso > max(legajos_anteriores$fecha_ingreso)) %>% 
    select("legajo") %>% 
    mutate("reciente" = TRUE)
  legajos_totales <- full_join(legajos_totales, legajos_alumnos_recientes, by ="legajo","estado")
  #Los alumnos que no pertenecen a ningun grupo, los desertores, también los añadimos al dataframe
  legajos_alumnos_desertores <- filtrardesertores(legajos_totales) %>% 
    mutate("abandono" = TRUE)
  legajos_totales <- full_join(legajos_totales, legajos_alumnos_desertores, by ="legajo","estado")
  legajos_totales[is.na(legajos_totales)] = FALSE
  return(legajos_totales)
}

Llamado de la función y dataframe resultante

Invocamos a la función de filtrado y le añadimos a cada legajo el año de ingreso correspondiente. Es posible modificar el criterio de deserción (cantidad de años sin rendir ni cursar una materia) cambiando el primer parámetro de la función y cambiar los legajos que no se tendrán en cuenta para el análisis modificando el segundo parámetro que representa años.

alumnos_filtrado <- filtrarAlumnos(2,2)
alumnos_filtrado <- merge(alumnos_filtrado,legajos, by = "legajo") %>% 
  select("legajo","fecha_ingreso","cursando","rindiendo","recibido","abandono","reciente") %>% 
  separate(fecha_ingreso, sep="-", into = c("anio_ingreso", "mes_ingreso","dia_ingreso"))

Estas son las primeras filas del dataframe resultante. Como se dijo anteriormente contiene un listado de todos los alumnos y su condicion actual.

Gráficos

Gráfico de torta - Porcentaje de desertores

Este gráfico muestra el porcentaje total de desertores de toda la muestra exceptuando los alumnos recientes.

Gráfico de líneas - Porcentaje de desertores por cohorte

Gráfico de barras - Cantidad de desertores por cohorte

Gráfico de barras - Cantidad de desertores luego de cierta cantidad de años