# Informe 1
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.
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
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
Para comprobar la hipótesis, usaré los siguientes instrumentos: Estadística descripctiva: Media, Moda Estadística exploratoria:
# fin de informe 1
# informe 2
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)
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>
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>
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
Luego del análisis del dataset, me parece que el gráfico más representativo para validar la hipótesis es “barplot()”
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.
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.
Las librerias usadas en este trabajo, fueron obtenidas desde: https://cran.r-project.org/web/packages/available_packages_by_name.html
# fin informe 3