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")