library(haven)
library(dplyr)


datosPisaEstudiantes = read_sas("estudiantes2018.sas7bdat", NULL)

numNA = apply(datosPisaEstudiantes, 1, function(x) sum(is.na(x)))

percNA = round(100*apply(datosPisaEstudiantes, 1, function(x) mean(is.na(x))), 2)
tablaNA2 = data.frame(numNA, percNA)
summary(tablaNA2$numNA)

barplot(table(tablaNA2$percNA), xlab = "% Valores faltantes", ylab = "NĂºmero de casos",
        main = "Valores faltantes por estudiante")

datosPisaEstudiantes_filtrado <- datosPisaEstudiantes %>%
  select(which(colMeans(is.na(datosPisaEstudiantes)) <= 0.2))

#Filtrado de estudiantes puede que sea innecesario
datosPisaEstudiantes_filtrado2018 = datosPisaEstudiantes_filtrado %>% filter(rowMeans(is.na(.)) <= 0.2)

save(datosPisaEstudiantes_filtrado2018, file="estudiantesPISAfiltrados2018.R")