# Informe 1

Introducción

El objetivo de este trabajo, es determinar las carreras, de la universidad “SFL”, que tienen mayor reprobación de alumnos, siendo la Hipótesis inicial que: las carreras con mayor reprobaciones son las científicas (Ingeniería, Medicina, etc.) sobre las carreras artísticas (Arquitectura, Diseño, etc.) o sociales (Pedagogía, Psicología, Periodísmo, etc.). Los datos son una nómina de alumnos por semestre, carrera y resultado.

Descripción de los datos

Con respecto a los datos(dataset), estos corresponden a la información anual(foto), de alumnos de todos los niveles de la universidad “SFL”, contenidos en una planilla excel, cuya estructura es:

Periodo(Num): Corresponde al año de la muestra. Semestre(Num): corresponde al semestre de la muestra (1,2,4).
Estudiante(num): corresponde al identificador del alumno.
Estado_Cod(Num): corresponde al estado del alumno (3).
Estado_Nomb(Char): corresponde a la descripción del estado (Activo).
Nota(Dec): corresponde a la nota del alumno en algun curso de la carrera.
Resultado_Cod(Num): corresponde al código de resultado del alumno (1,2,3)
Resultado_Nomb(Char): corresponde a la descripción del resultado (Inscrito, aprobado y reprobado).
Asistencia(Num): corresponde al % de asistencia del alumno. Carrera_Cod(Num): correspode al código de carrera.
Carrera_Nomb(Char): corresponde al nombre de la carrera.
Facultad_Cod(Num): corresponde al código de facultad. Facultad_Nomb(Char): corresponde al nombre de la facultad.

La columna que nos interesa analizar es:Nota

Procesamiento

Para comenzar el análisis, el dataset será depurado, eliminando los casos con notas NO numéricas, además, eliminaré los casos con estado distintos a ACTIVO.

Limpieza notas NO numércias

Limpieza notas NO numércias

Para comprobar la hipótesis, usaré los siguientes instrumentos: Estadística descripctiva: Media, Moda Estadística exploratoria:

# fin de informe 1

# informe 2

Procesamiento de datos

Para procesar los datos, usare las siguientes librerías: “dplyr”, la que ayudará en la limpieza del dataset. “readxl”, la que ayudará a importar del dataset.

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(readxl)

Obtención

El dataset es cargado a través de: “read_excel”.

DATASET_ST <- read_excel("D:/Temp/UDLA/ACI777/DATASET_ST.xlsx", 
              col_types = c("numeric", "numeric", "numeric","numeric", "text", "numeric", "numeric","text","numeric","numeric","text","numeric", "text"))

DATASET_ST
## # A tibble: 42,605 x 13
##    Periodo Semestre Estudiante Estado_Cod Estado_Nomb  Nota Resultado_Cod
##      <dbl>    <dbl>      <dbl>      <dbl> <chr>       <dbl>         <dbl>
##  1    2017        1    1167275          3 ACTIVO        3.5             3
##  2    2017        1    1167880          3 ACTIVO        5.9             2
##  3    2017        1    1167888          3 ACTIVO        5.2             2
##  4    2017        1    1167888          3 ACTIVO        3.5             3
##  5    2017        1    1167888          3 ACTIVO        6.6             2
##  6    2017        1    1167954          3 ACTIVO        4.9             2
##  7    2017        1    1167954          3 ACTIVO        6.1             2
##  8    2017        1    1167967          3 ACTIVO        6.3             2
##  9    2017        1    1167970          3 ACTIVO        4.9             2
## 10    2017        1    1167970          3 ACTIVO        6.4             2
## # … with 42,595 more rows, and 6 more variables: Resultado_Nomb <chr>,
## #   Asistencia <dbl>, Carrera_Cod <dbl>, Carrera_Nomb <chr>,
## #   Facultad_Cod <dbl>, Facultad_Nomb <chr>

Transformación

El filtro de los datos es hecho a través de: “filter”

filter(DATASET_ST, DATASET_ST$Resultado_Cod>0 & DATASET_ST$Estado_Nomb=="ACTIVO")
## # A tibble: 42,559 x 13
##    Periodo Semestre Estudiante Estado_Cod Estado_Nomb  Nota Resultado_Cod
##      <dbl>    <dbl>      <dbl>      <dbl> <chr>       <dbl>         <dbl>
##  1    2017        1    1167275          3 ACTIVO        3.5             3
##  2    2017        1    1167880          3 ACTIVO        5.9             2
##  3    2017        1    1167888          3 ACTIVO        5.2             2
##  4    2017        1    1167888          3 ACTIVO        3.5             3
##  5    2017        1    1167888          3 ACTIVO        6.6             2
##  6    2017        1    1167954          3 ACTIVO        4.9             2
##  7    2017        1    1167954          3 ACTIVO        6.1             2
##  8    2017        1    1167967          3 ACTIVO        6.3             2
##  9    2017        1    1167970          3 ACTIVO        4.9             2
## 10    2017        1    1167970          3 ACTIVO        6.4             2
## # … with 42,549 more rows, and 6 more variables: Resultado_Nomb <chr>,
## #   Asistencia <dbl>, Carrera_Cod <dbl>, Carrera_Nomb <chr>,
## #   Facultad_Cod <dbl>, Facultad_Nomb <chr>
DATASET_ST
## # A tibble: 42,605 x 13
##    Periodo Semestre Estudiante Estado_Cod Estado_Nomb  Nota Resultado_Cod
##      <dbl>    <dbl>      <dbl>      <dbl> <chr>       <dbl>         <dbl>
##  1    2017        1    1167275          3 ACTIVO        3.5             3
##  2    2017        1    1167880          3 ACTIVO        5.9             2
##  3    2017        1    1167888          3 ACTIVO        5.2             2
##  4    2017        1    1167888          3 ACTIVO        3.5             3
##  5    2017        1    1167888          3 ACTIVO        6.6             2
##  6    2017        1    1167954          3 ACTIVO        4.9             2
##  7    2017        1    1167954          3 ACTIVO        6.1             2
##  8    2017        1    1167967          3 ACTIVO        6.3             2
##  9    2017        1    1167970          3 ACTIVO        4.9             2
## 10    2017        1    1167970          3 ACTIVO        6.4             2
## # … with 42,595 more rows, and 6 more variables: Resultado_Nomb <chr>,
## #   Asistencia <dbl>, Carrera_Cod <dbl>, Carrera_Nomb <chr>,
## #   Facultad_Cod <dbl>, Facultad_Nomb <chr>

Procesos

Se aplican algunas funciones estadísticas básicas para validar la integridad de la muestra “summary()”, “mean()” y “median()”.

summary(DATASET_ST)
##     Periodo        Semestre       Estudiante        Estado_Cod
##  Min.   :2017   Min.   :1.000   Min.   :1167275   Min.   :3   
##  1st Qu.:2017   1st Qu.:1.000   1st Qu.:1253070   1st Qu.:3   
##  Median :2017   Median :2.000   Median :1264530   Median :3   
##  Mean   :2017   Mean   :1.535   Mean   :1263512   Mean   :3   
##  3rd Qu.:2017   3rd Qu.:2.000   3rd Qu.:1281893   3rd Qu.:3   
##  Max.   :2017   Max.   :4.000   Max.   :1292427   Max.   :3   
##  Estado_Nomb             Nota       Resultado_Cod   Resultado_Nomb    
##  Length:42605       Min.   :1.000   Min.   :1.000   Length:42605      
##  Class :character   1st Qu.:4.100   1st Qu.:2.000   Class :character  
##  Mode  :character   Median :5.000   Median :2.000   Mode  :character  
##                     Mean   :4.879   Mean   :2.174                     
##                     3rd Qu.:5.800   3rd Qu.:2.000                     
##                     Max.   :7.000   Max.   :3.000                     
##    Asistencia      Carrera_Cod    Carrera_Nomb        Facultad_Cod   
##  Min.   :  0.00   Min.   :  3.0   Length:42605       Min.   : 100.0  
##  1st Qu.:100.00   1st Qu.:  9.0   Class :character   1st Qu.: 400.0  
##  Median :100.00   Median :170.0   Mode  :character   Median : 600.0  
##  Mean   : 96.76   Mean   :147.8                      Mean   : 653.6  
##  3rd Qu.:100.00   3rd Qu.:284.0                      3rd Qu.:1000.0  
##  Max.   :100.00   Max.   :329.0                      Max.   :1200.0  
##  Facultad_Nomb     
##  Length:42605      
##  Class :character  
##  Mode  :character  
##                    
##                    
## 
media <- mean(DATASET_ST$Nota)

media
## [1] 4.879441
mediana <- median(DATASET_ST$Nota)

mediana
## [1] 5

Se implementa una gráfica que demuestre la hipótesis, en este caso “boxplot()”, primero directamente desde el dataset:

boxplot(DATASET_ST$Nota ~ DATASET_ST$Facultad_Cod,
        col = c("blue", "purple", "green","orange","red","light blue","yellow","brown","violet","cyan","tomato","pink"),
        main = "Notas por Facultad", xlab = "Facultades", ylab = "Notas")
legend("bottomright", legend = c("ARQUITECTURA", "COMUNI Y LETRAS","DERECHO","ECONOMIA","EDUCACION","INGENIERÍA","MEDICINA","PSICOLOGIA","CIENCIAS SOC","SALUD","HUMANIDADES","FORM GENERAL"), fill = c("blue", "purple","green","orange","red","light blue","yellow","brown","violet","cyan","tomato","pink"), title = "Facultades", cex=0.8)

Luego se crea una tabla proporcional por columna, a través de “prop.table()” y se grafica a través de “barplot()”.

tab_resultado <- table(DATASET_ST$Resultado_Nomb, DATASET_ST$Facultad_Cod)
ptab_resultado <- prop.table(tab_resultado, margin = 2)
tab_resultado
##            
##              100  200  300  400  500  600  700  800  900 1000 1100 1200
##   Aprobado  2669 2151 1842 5404 1617 5497  947 1605 1940 3739   60 7009
##   Inscrito     4   82    0   20   32    5    1    0   12  201    0    0
##   Reprobado  582  411  597 2274  247 2013   36  240  508  504   15  341
ptab_resultado
##            
##                     100         200         300         400         500
##   Aprobado  0.819969278 0.813540091 0.755227552 0.702000520 0.852848101
##   Inscrito  0.001228879 0.031013616 0.000000000 0.002598077 0.016877637
##   Reprobado 0.178801843 0.155446293 0.244772448 0.295401403 0.130274262
##            
##                     600         700         800         900        1000
##   Aprobado  0.731470393 0.962398374 0.869918699 0.788617886 0.841359136
##   Inscrito  0.000665336 0.001016260 0.000000000 0.004878049 0.045229523
##   Reprobado 0.267864271 0.036585366 0.130081301 0.206504065 0.113411341
##            
##                    1100        1200
##   Aprobado  0.800000000 0.953605442
##   Inscrito  0.000000000 0.000000000
##   Reprobado 0.200000000 0.046394558
barplot(ptab_resultado, main = "Resultados por Facultad",
     xlab = "Facultad", ylab = "Resultado", 
     col = c("green","blue", "red"))
legend("bottomright", legend = c("100 ARQUITECTURA", "200 COMUNI Y LETRAS","300 DERECHO","400 ECONOMIA","500 EDUCACION","600 INGENIERÍA","700 MEDICINA","800 PSICOLOGIA","900 CIENCIAS SOC","1000 SALUD","1100 HUMANIDADES","1200 FORM GENERAL"), title = "Facultades", cex=0.8)

Este último es el gráfico más util para validar la hipótesis.

# fin informe 2

# Informe 3

Resultados

Luego del análisis del dataset, me parece que el gráfico más representativo para validar la hipótesis es “barplot()”

Discusión

El análisis no valida contundentemente la hipótesis, pero muestra una tendencia al mostrar que las carreras con mayor nivel de reprobación son: Economía e Ingeniería y las con menos son Medicina y Formación General.

Me parece que faltó agregar un dato importante en el análisis y este es el número de estudiantes inscritos en cada carrera/facultad.

Conclusión

Tengo una validación, a mi juicio, no tan concluyente que respalda la hipótesis inicial, pero dado el análisis, me doy cuenta que es necesario agregar una dimensión importante, que es el número de alumnos inscritos en cada carrera.

Referencias

Las librerias usadas en este trabajo, fueron obtenidas desde: https://cran.r-project.org/web/packages/available_packages_by_name.html

# fin informe 3