Importar datos y librerias

library(ggplot2)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.2.0     ✔ readr     2.2.0
## ✔ forcats   1.0.1     ✔ stringr   1.6.0
## ✔ lubridate 1.9.5     ✔ tibble    3.3.1
## ✔ purrr     1.2.1     ✔ tidyr     1.3.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
df <- read.csv("/Users/lukas/Desktop/Universidad/2026/1r semestre/Estadistica Multivariada/StudentPerformanceFactors.csv", sep = ",", header = TRUE, quote = "/")

Mostrar el header

Mostrar primeras 6 filas de los datos

head(df)

Parte 1: Analisis Univariado

1. Realice un gr´afico que muestre las frecuencias de la variable School Type. ¿Existe un equilibrio entre la cantidad de estudiantes de colegios p´ublicos y privados en la muestra?

df %>% ggplot(aes(x = School_Type)) + geom_bar()

R: No, no existe ningun equilibrio, comparando el tipo de escuela privada o publica, hay mas del doble de gente en escuela publica que en escuela privada.

2. Realice un grafico que muestre las frecuencias de la variable acceso a recursos. Analiza la grafica.

df %>% ggplot(aes(x = Access_to_Resources)) + geom_bar()

R: Complementando la pregunta 1, hay mas gente con recursos medios que con hartos, estos nos da inferir que no existen los recursos necesarios para optar a una escuela privada.

3. Construya un histograma para la variable Exam Score utilizando un binwidth = 2. Describa la forma de la distribuci´on ¿Es sim´etrica? ¿Hacia d´onde se inclina?.

df %>% ggplot(aes(x = Exam_Score)) + geom_histogram(binwidth = 2)

R: El histograma tiene un sesgo positivo, eso quiere decir que tiene la cola de los datos mas baja en la parte derecha del grafico. Esto nos quiere decir que es mas complicado conseguir notas superiores a 70.

4. Construya un histograma y una grafico de densidad para la variable horas estudiadas describa la forma de la distribuci´on ¿Es sim´etrica? ¿Hacia d´onde se inclina?. Calcula el promedio y la mediana, intrepreta.

Histograma:

df %>% ggplot(aes(x = Hours_Studied)) + geom_histogram(binwidth = 2)

Densidad:

df %>% ggplot(aes(x = Hours_Studied)) + geom_density()

R: Mirando los graficos, ambos nos muestran una distribucion normal.

Calculo estadisticos

df %>% summarise(
  promedio_horas_estudiadas = mean(Hours_Studied),
  mediana_hohras_estudiadas = median(Hours_Studied)
)

Como la diferencia de la media y la mediana es casi nula, esto se interpreta: Tenemos una tendencia normal, osea que el grafico es simetrico.

5. Genere un diagrama de caja (boxplot) para la variable Attendance. Analice si existen valores at´ıpicos (outliers) en la asistencia de los alumnos.

df %>% ggplot(aes(x = Attendance)) + geom_boxplot()

R: No existen datos atipicos.

6. Crea un boxplot de la variable horas estudiadas. Analice si existen valores at´ıpicos.

df %>% ggplot(aes(x = Hours_Studied)) + geom_boxplot()

R: Si existen datos atipicos, ocurre mas con horas extras que con falta de horas.

Parte 2: Analisis Bivariado

###7. Grafique la relaci´on entre porcentage de de asistencia y Exam Score (eje Y). Es posible establecer una relaci´on. Agrega la variable g´enero como color, hay una diferencia.

df %>% ggplot(aes(x = Attendance, y = Exam_Score, colour = Gender)) + geom_smooth(method = lm) + geom_point()
## `geom_smooth()` using formula = 'y ~ x'

df %>% select(Attendance, Exam_Score) %>% cor()
##            Attendance Exam_Score
## Attendance  1.0000000  0.5810719
## Exam_Score  0.5810719  1.0000000

R: Existe una relacion entre la asistencia y las notas del examen, a mas asistencia mayor es la nota. No existen diferencias por genero, hay una correlacion del 0.6, la mayoria tiende a eso.

8. Grafique la relaci´on entre Hours Studied y Exam Score (eje Y). ¿Se observa una tendencia clara? Agregue una l´ınea de tendencia.

df %>% ggplot(aes(x = Hours_Studied, y = Exam_Score)) + geom_smooth(method = lm) + geom_point()
## `geom_smooth()` using formula = 'y ~ x'

df %>% select(Hours_Studied, Exam_Score) %>%  filter(Exam_Score < 80) %>% cor()
##               Hours_Studied Exam_Score
## Hours_Studied     1.0000000  0.5211482
## Exam_Score        0.5211482  1.0000000

R: La correlacion es del 0.5, existe una correlacion normal.

9. Realice un gr´afico de cajas comparando el Exam Score seg´un el nivel de Parental Involvement. ¿Parece haber una diferencia significativa en la mediana de los puntajes seg´un el apoyo de los padres?

df %>% ggplot(aes(x = Parental_Involvement, y = Exam_Score, colour = Parental_Involvement)) + geom_boxplot() 

df %>% group_by(Parental_Involvement) %>%  summarise( mediana_nota_examen = median(Exam_Score),
                                                                                   promedio_notas = mean(Exam_Score))

R: Mientras mas apoyo de los padres hay, la nota menor que obtienen los estudiantes es mayor. Ademas la mediana es mayor cuando hay mas apoyo y medio apoyo comparado a cuando hay poco. Aunque, revisando la mediana de las notas, estas no cambian mucho,aun revisando el poromedio de notas.

10. Utilice geom bar(position = “fill”) para analizar la relaci´on entre Family Income y Internet Access. ¿C´omo afecta el nivel socioecon´omico al acceso a herramientas digitales?

df %>% ggplot(aes(x=Internet_Access,fill =Family_Income)) + geom_bar(position="fill")

R: Casi no hay diferencias entre el ingreso familiar y el acceso a internet.

Parte 3: Analisis Multivariado

11. Cree un gr´afico de dispersi´on de Previous Scores vs Exam Score, pero separe los paneles seg´un el Motivation Level. ¿La motivaci´on cambia la forma en que los puntajes pasados predicen los actuales?

df %>% ggplot(aes(x= Previous_Scores, y= Exam_Score, colour = Motivation_Level))+facet_grid(. ~Motivation_Level) +geom_point()

# 12. An´alisis Cr´ıtico: Basado en los gr´aficos anteriores, elija las tres variables que, a juicio del grupo, tienen mayor impacto en el ´exito acad´emico (Exam Score) y justifique su respuesta bas´andose en la evidencia visual generada.

R: La asistencia, ohras estudiadas y apoyo de los padres. Mostraron un cambio mas significativo que el resto de variables, cambian las tendencias de las notas.