El siguiente trabajo tiene por objetivo analizar los resultados obtenidos durante en la Prueba de Selección Universitaria (PSU) año 2016. La PSU es un test estandarizado escrito el que se utiliza para el proceso de admisión a la educacion universitaria en Chile. El origen de los datos fue la web https://es.datachile.io/geo/chile#education .
Al analizar los datos, mediante herramientas estadisticas y de analisis, se espera encontrar alguna relacion entre notas, puntaje PSU, tipo de colegio o ubicacion geografica.
Los datos fueron descargados en formato csv. Tras su descarga, se traspaso a formato xslx. Estan agrupados por region,comuna, tipo de administracion del colegio, promedio notas enseñanza media y promedio psu
Antes de cargar los datos en R, se necesita preparar los datos y transformar el formato de archivo csv a xlsx
Datos en Formato CSV
Se separan los datos (que venian separados por coma)
Separacion de datos en columnas
Se limpian los datos de tipo texto (region, comuna, administracion), eliminando caracteres extraños (al convertir a CSV se pierden los tildes y la Ñ no es reconocida)
Limpieza de datos
Se normalizan los datos de tipo numerico, el puntaje psu debe ser un valor entero de 3 digitos, el promedio de notas de enseñanza media (NEM) debe ser un valor decimal con precision de 2 digitos decimales, el numero de alumnos (records) debe ser normalizado a un valor entero.
Normalizacion de datos
## [1] "C:/Users/d_loyola/OneDrive/Documentos/Universidad/Semestre 6/ACI777 - ANALISIS DE DATOS/TRABAJO/PSU vs NEM"
#Instalo Paquetes y librerias
#install.packages("xlsx")
#tinytex::install_tinytex()
#library(xlsx)
library (readxl)Importacion de Datos
Visualizacion de Datos
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 360.0 433.0 462.0 476.4 503.0 690.0
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 4.900 5.490 5.590 5.617 5.730 6.400
## Classes 'tbl_df', 'tbl' and 'data.frame': 673 obs. of 9 variables:
## $ ID Region : num 1 1 1 1 1 1 1 1 1 1 ...
## $ Region : chr "Tarapaca" "Tarapaca" "Tarapaca" "Tarapaca" ...
## $ ID Comuna : num 5 5 58 108 108 113 113 113 113 217 ...
## $ Comuna : chr "Alto Hospicio" "Alto Hospicio" "Colchane" "Huara" ...
## $ ID Administration: num 1 2 1 1 2 1 2 3 4 1 ...
## $ Administration : chr "Municipal" "Particular Subvencionado" "Municipal" "Municipal" ...
## $ Average PSU : num 459 455 370 378 462 445 514 580 432 443 ...
## $ Average NEM : num 5.55 5.54 5.49 5.62 5.38 5.56 5.68 5.98 5.36 5.65 ...
## $ Number of records: num 76 1289 3 15 1 ...
## [1] "ID Region" "Region" "ID Comuna"
## [4] "Comuna" "ID Administration" "Administration"
## [7] "Average PSU" "Average NEM" "Number of records"
#Modificacion de nombres de variables (columnas de la tabla)
names(datos)[5] = "ID Administracion"
names (datos) [6] = "Tipo Administracion"
names (datos) [7] = "Prom PSU"
names (datos) [8] = "Prom NEM"
names (datos) [9] = "Total Alumnos"
names (datos)## [1] "ID Region" "Region" "ID Comuna"
## [4] "Comuna" "ID Administracion" "Tipo Administracion"
## [7] "Prom PSU" "Prom NEM" "Total Alumnos"
## ID Region Region ID Comuna Comuna
## 0 0 0 0
## ID Administracion Tipo Administracion Prom PSU Prom NEM
## 0 0 0 0
## Total Alumnos
## 0
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 360.0 433.0 462.0 476.4 503.0 690.0
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 4.900 5.490 5.590 5.617 5.730 6.400
## ID Region Region ID Comuna Comuna
## Min. : 1.000 Length:673 Min. : 1.0 Length:673
## 1st Qu.: 6.000 Class :character 1st Qu.: 85.0 Class :character
## Median : 8.000 Mode :character Median :172.0 Mode :character
## Mean : 8.505 Mean :173.5
## 3rd Qu.:13.000 3rd Qu.:262.0
## Max. :15.000 Max. :346.0
## ID Administracion Tipo Administracion Prom PSU Prom NEM
## Min. :1.000 Length:673 Min. :360.0 Min. :4.900
## 1st Qu.:1.000 Class :character 1st Qu.:433.0 1st Qu.:5.490
## Median :2.000 Mode :character Median :462.0 Median :5.590
## Mean :1.756 Mean :476.4 Mean :5.617
## 3rd Qu.:2.000 3rd Qu.:503.0 3rd Qu.:5.730
## Max. :4.000 Max. :690.0 Max. :6.400
## Total Alumnos
## Min. : 1.0
## 1st Qu.: 63.0
## Median : 143.0
## Mean : 431.3
## 3rd Qu.: 397.0
## Max. :7354.0
# Creacion de Boxplot
boxplot(datos$`Prom PSU`~datos$`ID Administracion`,horizontal = TRUE,
col = c("blue", "purple", "green","orange"),main = "Puntaje PSU vs Admin Colegio", xlab = "Puntaje PSU", ylab = "Administracion")
legend(x = "bottomright", legend = c("Municipal", "Part. Subv","Part. Pagado","Adm. Delegada"), fill = c("blue", "purple", "green","orange"), title = "Tipo Admin")# Creacion de Histograma
h <- hist(datos$`Prom PSU`, main = "Puntaje PSU 2016",xlab="Puntaje PSU",ylab = "Frecuencia", col = "green3")##
## 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
## [1] "ID.Region" "Region" "ID.Comuna"
## [4] "Comuna" "ID.Administracion" "Tipo.Administracion"
## [7] "Prom.PSU" "Prom.NEM" "Total.Alumnos"
# Creacion de objeto que almacene los datos incluidos en el dataframe "datosdf" que cumplan con la condicion Tipo.Administracion == "Particular Pagado"
colpart <- filter(datosdf, Tipo.Administracion == "Particular Pagado")
View(colpart)Visualizacion Colegio Particular Pagado
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 457.0 580.0 603.0 599.5 620.0 690.0
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 4.960 5.800 5.910 5.908 5.990 6.400
# Creacion de objeto que almacene los datos incluidos en el dataframe "datosdf" que cumplan con la condicion Tipo.Administracion == "Particular Subvencionado"
colpartsub <- filter(datosdf, Tipo.Administracion == "Particular Subvencionado")
View(colpartsub)Visualizacion Colegio Particular Subvencionado
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 360.0 455.0 487.5 483.0 512.2 587.0
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 4.900 5.518 5.600 5.608 5.710 6.190
# Creacion de objeto que almacene los datos incluidos en el dataframe "datosdf" que cumplan con la condicion Tipo.Administracion == "Corporacion de Administracion Delegada"
coladm <- filter(datosdf, Tipo.Administracion == "Corporacion de Administracion Delegada")
View(coladm)Visualizacion Corp. Adm. Delegada
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 394.0 439.0 453.0 451.8 463.5 489.0
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 5.120 5.280 5.430 5.408 5.510 5.620
# Creacion de objeto que almacene los datos incluidos en el dataframe "datosdf" que cumplan con la condicion Tipo.Administracion == "Municipal"
colmun <- filter(datosdf, Tipo.Administracion == "Municipal")
View(colmun)Visualizacion Colegio Municipal
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 364.0 424.0 441.0 444.5 463.0 591.0
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 5.030 5.470 5.560 5.577 5.680 6.040
Al analizar y visualizar los datos con el Box Plot, podemos apreciar una clara diferencia en puntaje y notas entre los colegios segun su tipo de administracion. Los Colegios Particulares se empinan sobre los 603 puntos (mediana) en cambio los colegios municipales no alcanzan los 450.
# Estadisticas
# MEdia NEM
promPSU <- c(median(colpart$Prom.PSU),median(colpartsub$Prom.PSU),median(coladm$Prom.PSU),median(colmun$Prom.PSU) )
##View (promPSU)
promNEM <- c(median(colpart$Prom.NEM),median(colpartsub$Prom.NEM),median(coladm$Prom.NEM),median(colmun$Prom.NEM) )
sumAL<- c(sum(colpart$Total.Alumnos),sum(colpartsub$Total.Alumnos),sum(coladm$Total.Alumnos),sum(colmun$Total.Alumnos))
sumALTOT <- c(sum(datosdf$Total.Alumnos))
porcAL <- c(sum((colpart$Total.Alumnos)/sumALTOT)*100,sum((colpartsub$Total.Alumnos)/sumALTOT)*100,sum((coladm$Total.Alumnos)/sumALTOT)*100,sum((colmun$Total.Alumnos)/sumALTOT)*100)
datos3 <- matrix(c(promPSU, promNEM,sumAL,porcAL), nrow=4, ncol=4)
colnames(datos3)<-c ('Media PSU','Media NEM','Total Alumnos','% Total Alumnos')
rownames (datos3) <- c('Colegio Particular','Colegio Part. Subvencionado', 'Corp. Admin. Delegada', 'Colegio Municipal')
datos3## Media PSU Media NEM Total Alumnos % Total Alumnos
## Colegio Particular 603.0 5.91 30763 10.598429
## Colegio Part. Subvencionado 487.5 5.60 155582 53.600910
## Corp. Admin. Delegada 453.0 5.43 11175 3.849997
## Colegio Municipal 441.0 5.56 92740 31.950665