#Objetivo: objetivo es determinar si las variables cuantitativas son capaces de explicar cuando una universidad es privada o pública.
Estamos intentando resolver un problema de clasificación supervisada. Tenemos acceso a ambos predictores y respuestas. Conocemos la forma de las respuestas, y podemos utilizar clasificaciones previamente hechas para el correcto funcionamiento del algoritmo (que sea capaz de distinguir entre los tipos de universidades dados los predictores).
Determinar la variable respuesta y los predictores.
La variable respuesta: Private - Si ó No de acuerdo a si la universidad es privada
Cargar la librería ISLR2 en memoria e importar el conjunto de datos College, comprobar que el objeto importado es un data.frame, ver las primeras filas, determinar la dimensión del data.frame y utilizar la función str para obtener el tipo de variable en cada caso.
Obtener un resumen numérico de las variables utilizando la función skim del paquete skimr y obtener conclusiones del mismo. Por ejemplo, obtener los valores mínimo y máximo de cada variable para conocer su rango, comparar la media muestral y la mediana muestral y los tres cuartiles de las variables para tener una idea de la forma de sus distribuciones, comparar los valores máximo y mínimo de las variables con los respectivos cuartiles, etc.
Obtener el número de universidades privadas y públicas con table y el porcentaje de universidades en cada clase.
vi)Obtener diagramas de caja de las 16 variables cuantitativas en función de la variable Private. Comentar si existe relación entre cada predictor y la respuesta e interpretar dicha relación, si existe. Determinar que predictores parecen los más apropiados para explicar la respuesta Private.
library(ggplot2)
ggplot(College, aes(x = Private, y = Apps, fill = Private)) + geom_boxplot() +
labs(title = "Diagrama de caja de aplicaciones (Apps) por tipo de escuela (Private)",
x = "Tipo de escuela ",
y = "Número de aplicaciones") +
theme_minimal() +
scale_fill_manual(values = c("skyblue", "lightpink"))
ggplot(College, aes(x = Private, y = Accept, fill = Private)) + geom_boxplot() +
labs(title = "Diagrama de caja de aceptados por tipo de escuela",
x = "Tipo de escuela ",
y = "Número de alumnos aceptados") +
theme_minimal() +
scale_fill_manual(values = c("skyblue", "lightpink"))
ggplot(College, aes(x = Private, y = Enroll, fill = Private)) + geom_boxplot() +
labs(title = "Diagrama de caja: numero de alumnos nuevos matriculados por tipo de escuela",
x = "Tipo de escuela ",
y = "Alumnos nuevos patricualdos") +
theme_minimal() +
scale_fill_manual(values = c("skyblue", "lightpink"))
ggplot(College, aes(x = Private, y = Enroll, fill = Private)) + geom_boxplot() +
labs(title = "Diagrama de caja: numero de alumnos nuevos matriculados por tipo de escuela",
x = "Tipo de escuela ",
y = "Alumnos nuevos matricualdos") +
theme_minimal() +
scale_fill_manual(values = c("skyblue", "lightpink"))
ggplot(College, aes(x = Private, y = Top10perc, fill = Private)) + geom_boxplot() +
labs(title = "Diagrama de caja: 10% por tipo de escuela",
x = "Tipo de escuela ",
y = "Alumnos en el 10%") +
theme_minimal() +
scale_fill_manual(values = c("skyblue", "lightpink"))
ggplot(College, aes(x = Private, y = Top25perc, fill = Private)) + geom_boxplot() +
labs(title = "Diagrama de caja: 25% por tipo de escuela",
x = "Tipo de escuela ",
y = "Alumnos en el 25%") +
theme_minimal() +
scale_fill_manual(values = c("skyblue", "lightpink"))
ggplot(College, aes(x = Private, y = F.Undergrad, fill = Private)) + geom_boxplot() +
labs(title = "Diagrama de caja: estudiantes de tiempo completo por tipo de escuela",
x = "Tipo de escuela ",
y = "Alumnos de tiempo completo") +
theme_minimal() +
scale_fill_manual(values = c("skyblue", "lightpink"))
ggplot(College, aes(x = Private, y = P.Undergrad, fill = Private)) + geom_boxplot() +
labs(title = "Diagrama de caja: estudiantes de tiempo parcial por tipo de escuela",
x = "Tipo de escuela ",
y = "Alumnos de tiempo parcial") +
theme_minimal() +
scale_fill_manual(values = c("skyblue", "lightpink"))
ggplot(College, aes(x = Private, y = Outstate, fill = Private)) + geom_boxplot() +
labs(title = "Diagrama de caja: estudiantes de fuera por tipo de escuela",
x = "Tipo de escuela ",
y = "Alumnos de fuera del estado") +
theme_minimal() +
scale_fill_manual(values = c("skyblue", "lightpink"))
ggplot(College, aes(x = Private, y = Room.Board, fill = Private)) + geom_boxplot() +
labs(title = "Diagrama de caja: costo subsistencia por tipo de escuela",
x = "Tipo de escuela ",
y = "gasto en alojamiento y comida") +
theme_minimal() +
scale_fill_manual(values = c("skyblue", "lightpink"))
ggplot(College, aes(x = Private, y = Books, fill = Private)) + geom_boxplot() +
labs(title = "Diagrama de caja: costo de libros por tipo de escuela",
x = "Tipo de escuela ",
y = "costo de libros") +
theme_minimal() +
scale_fill_manual(values = c("skyblue", "lightpink"))
ggplot(College, aes(x = Private, y = Personal, fill = Private)) + geom_boxplot() +
labs(title = "Diagrama de caja: gastos personales por tipo de escuela",
x = "Tipo de escuela ",
y = "Gastos") +
theme_minimal() +
scale_fill_manual(values = c("skyblue", "lightpink"))
ggplot(College, aes(x = Private, y = PhD, fill = Private)) + geom_boxplot() +
labs(title = "Diagrama de caja: % de profesores con doctorado por tipo de escuela",
x = "Tipo de escuela ",
y = "Porcentaje de profesores con doctorado") +
theme_minimal() +
scale_fill_manual(values = c("skyblue", "lightpink"))
ggplot(College, aes(x = Private, y = Terminal, fill = Private)) + geom_boxplot() +
labs(title = "Diagrama de caja: % de profesores con doctorado o maestria por tipo de escuela",
x = "Tipo de escuela ",
y = "% de profesores") +
theme_minimal() +
scale_fill_manual(values = c("skyblue", "lightpink"))
ggplot(College, aes(x = Private, y = S.F.Ratio, fill = Private)) + geom_boxplot() +
labs(title = "Diagrama de caja: Proporción de estudiantes / profesores por tipo de escuela",
x = "Tipo de escuela ",
y = "Proporción de estudiantes / profesores") +
theme_minimal() +
scale_fill_manual(values = c("skyblue", "lightpink"))
ggplot(College, aes(x = Private, y = perc.alumni, fill = Private)) + geom_boxplot() +
labs(title = "Diagrama de caja: Porcentaje de ex-alumnos de la universidad que donan dinero a la universidad por tipo de escuela",
x = "Tipo de escuela ",
y = "Porcentaje de ex-alumnos de la universidad que donan dinero a la universidad") +
theme_minimal() +
scale_fill_manual(values = c("skyblue", "lightpink"))
ggplot(College, aes(x = Private, y = Expend, fill = Private)) + geom_boxplot() +
labs(title = "Diagrama de caja: Gasto instructional por estudiante por tipo de escuela",
x = "Tipo de escuela ",
y = "Gasto instructional por estudiante") +
theme_minimal() +
scale_fill_manual(values = c("skyblue", "lightpink"))
ggplot(College, aes(x = Private, y = Grad.Rate, fill = Private)) + geom_boxplot() +
labs(title = "Diagrama de caja: Tasa de graduación por tipo de escuela",
x = "Tipo de escuela ",
y = "Tasa de graduación") +
theme_minimal() +
scale_fill_manual(values = c("skyblue", "lightpink"))
Después de observar los diagramas de caja podemos dividir los predictores en útiles, no útiles y aquellos que podrian llegar a serlo.
Varios predictores nos resultaran utiles debido a que tienen una fuerte conexión con el tamaño de la escuela: # de aplicaciones, aceptados, matriculados, alumnos nuevos, alumnos de tiempo completo y tiempo parcial y la proporción de estudiantes por profesor. Por otra parte, tenemos predictores relacionados con el perfil de los alumnos que asisten a las universidades y los maestros: el # de alumnos que pertenecen al 10% de mejores alumnos de su highschool, # de estudiantes de fuera, el costo de subsistencia, los gastos personales, el número de alumnos que donan despues de graduarse, el gasto instructional, la tasa de graduación, y el % de profesores con doctorado.
Las variables que no son buenos predictores, no nos dan informacoión nueva ó son demasiado similares: El % de alumnos que pertenecian al 25% top de su secundaria, el % de maestros con doctorado o maestria, y el costo de los libros.
Necesitamos más información para concluir si el gasto personal es un predictor óptimo.
# Creamos la variable 'Top'
College$Top <- ifelse(College$Top10perc > 50, "Si", "No")
table(College$Top)
##
## No Si
## 699 78
ggplot(College, aes(x = Top, y = PhD, fill = Top)) + geom_boxplot() +
labs(title = "Diagrama de caja: % de profesores con doctorado por tipo de escuela (Top)",
x = "Tipo de escuela (Top o no Top) ",
y = " % de profesores con doctorado") +
theme_minimal() +
scale_fill_manual(values = c("orange1", "darkolivegreen1"))
Podemos concluir que los Mejores alumnos buscan entrar a ‘las mejores escuelas’ y basan fuertemente su decisión en el % de maestros con doctorado en la institución