Censura a la izquierda en las universidades españolas
(Aviso: esta entrada podría competir dignamente en una competición de titulares engañosos. Es posible que si no sepas de qué hablo regularmente te interese más esto).
En España hay pruebas de acceso a la universidad que y en algunos sitios publican las notas de corte para acceder a determinados estudios. Las he bajado escrapeando El País así
library(rvest)
library(plyr)
library(rstan)
library(reshape2)
options(mc.cores = 2)
url <- "http://elpais.com/especiales/universidades/"
pagina <- read_html(url, encoding = "UTF8")
urls_provs <- html_nodes(pagina, "a")
urls_provs <- html_attr(urls_provs, "href")
urls_provs <- paste0("http://elpais.com", urls_provs[grep("centro/provincia", urls_provs)])
foo <- function(url){
tmp <- read_html(url)
urls <- html_nodes(tmp, "a")
urls <- html_attr(urls, "href")
paste0("http://elpais.com", urls[grep("^/especiales/universidades/titulacion/universidad", urls)])
}
urls_univs <- sapply(urls_provs, foo)
urls_univs <- unique(unlist(urls_univs))
foo <- function(url){
tmp <- read_html(url)
lugares <- html_nodes(tmp, xpath = "//*/div[@class = 'lugar']")
data.frame(carrera = html_text(html_nodes(lugares, xpath = "//*/a[@class = 'carrera']")),
sede = html_text(html_nodes(lugares, xpath = "//*/p[@class = 'escuela']/span/a")),
nota = html_text(html_nodes(tmp, xpath = "//*/div[@class='nota']/p/text()")))
}
res <- ldply(urls_univs, foo)
notas <- res
notas$nota <- as.numeric(as.character(res$nota))
# limpieza de datos
notas$nota[notas$nota > 5000] <- notas$nota[notas$nota > 5000] / 1000
notas <- notas[notas$nota > 0,]
notas <- notas[order(notas$nota), ]
con el objetivo de estudiar el efecto de la universidad / sede y de la carrera en el punto de corte. Esencialmente, quiero hacer algo así como lmer(nota ~ 1 + (1 | sede) + (1 | carrera), data = notas)
, pero hay una complicación: como creo que mis lectores sabrán, las notas de acceso tienen un valor mínimo, el del aprobado, 5. Eso significa que, de alguna manera, están censuradas por la izquierda. El modelo resultante es algo así como