# Función para extraer los datos para las representaciones a partir de los datos en bruto
input <- function(datosAlumnosJSON){
listDatos <- jsonlite::fromJSON(datosAlumnosJSON, simplifyDataFrame = TRUE)
# return(listDatos$idExpediente)
# # save(datosAlumnosFeather, file = "datosTeleco.rda")
listaFinal <- list()
# # listDatos <- read_feather(datosAlumnosFeather)
# # datosAlumno <- listDatos %>% filter(idExpediente == 6805)
# # return(datosAlumno)
dfDatos <- as.data.frame(listDatos)
titulos <- dfDatos$PLAN_ID %>% factor() %>% levels()
# Cálculo de datos generales
listaDatos <- list()
i = 1
for(titulo in titulos){
datosTabla <- dfDatos %>% filter(PLAN_ID == titulo)
datosGenerales <- list()
datosGenerales[["Entradas totales"]] <- nrow(datosTabla)
nEntPAU <- datosTabla %>% filter(ALU_ASS_CURSO_ID == "PAU") %>% select(idExpediente)
datosGenerales[["Entradas PAU"]] <- nrow(nEntPAU)
nExp <- datosTabla %>% select(idExpediente)
nExp <- nExp[!duplicated(nExp),] %>% length()
datosGenerales[["Numero de Expedientes"]] <- nExp
nExpPAU <- nEntPAU[!duplicated(nEntPAU),] %>% length()
datosGenerales[["Numero de Expedientes PAU"]] <- nExpPAU
anios <- datosTabla$ANYACA_MAT_ID %>% factor() %>% levels()
datosGenerales[["Intervalo de cursos comprendidos"]] <- c(paste(min(anios), max(anios), sep="/"))
listaDatos[[titulo]] <- datosGenerales
}
listaFinal[["Datos Generales"]] <- listaDatos
# json_datosGenerales <- jsonlite::toJSON(listaDatos)
# save(json_datosGenerales , file = "Data/jsonDatosGenerales.RData")
# Cálculo de presentados por curso
listaDatos <- list()
for(titulo in titulos){
listaPorcentajes <- list()
for(curso in c("1", "2", "3", "4")){
datosGrafica <- dfDatos %>% filter(PLAN_ID == titulo)
temp2 <- datosGrafica %>% filter(descValor == "CALIFICACION_DESC" & ALU_ASS_CURSO_ID == curso) %>%
select(idExpediente, ASS_ASS_DESC, valor) %>% na.omit()
temp2 <- temp2 %>% mutate(PRESENTADO = ifelse(temp2$valor != "NO PRESENTADO", "PRESENTADO", "NO PRESENTADO"))
temp2 <- temp2[!duplicated(temp2), ]
tabla <- as.data.frame(table(temp2 %>% select(ASS_ASS_DESC, PRESENTADO)))
porcentajes <- data.frame("ASS_ASS_DESC" = character(), "PRESENTADO" = character(), "Freq" = numeric(), stringsAsFactors = FALSE)
for(asig in temp2$ASS_ASS_DESC %>% factor() %>% levels()){
# t <- tabla %>% filter(ASS_ASS_DESC == asig) %>% select(Freq) %>% sum()
# porcentajes[porcentajes$ASS_ASS_DESC==asig, "Freq"] <- tabla[tabla$ASS_ASS_DESC==asig, "Freq"]/t
t <- tabla %>% filter(ASS_ASS_DESC == asig) %>% select(Freq) %>% sum()
if(length(as.numeric(tabla[tabla$ASS_ASS_DESC == asig & tabla$PRESENTADO == "PRESENTADO", "Freq"]/t)) != 0){
porcentajes[length(porcentajes$ASS_ASS_DESC)+1, ] <- c(asig, "PRESENTADO", as.numeric(tabla[tabla$ASS_ASS_DESC == asig & tabla$PRESENTADO == "PRESENTADO", "Freq"]/t))
}
else{
porcentajes[length(porcentajes$ASS_ASS_DESC)+1, ] <- c(asig, "PRESENTADO", 0)
}
if(length(as.numeric(tabla[tabla$ASS_ASS_DESC == asig & tabla$PRESENTADO == "NO PRESENTADO", "Freq"]/t)) != 0){
porcentajes[length(porcentajes$ASS_ASS_DESC)+1, ] <- c(asig, "NO PRESENTADO", as.numeric(tabla[tabla$ASS_ASS_DESC == asig & tabla$PRESENTADO == "NO PRESENTADO", "Freq"]/t))
}
else{
porcentajes[length(porcentajes$ASS_ASS_DESC)+1, ] <- c(asig, "NO PRESENTADO", 0)
}
}
listaPorcentajes[[curso]] <- porcentajes
}
listaDatos[[titulo]] <- listaPorcentajes
}
listaFinal[["Datos Presentados"]] <- listaDatos
return(listaFinal)
#
# # json_porcentajesPresentados <- jsonlite::toJSON(listaDatos)
# # save(json_porcentajesPresentados , file = "Data/jsonPorcentajesPresentados.RData")
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.