Introducción:

Análisis preliminar de de datos del tribunal

Se cargan los datos del objeto ‘InfTribunal_Valoraciones_26Marzo2015’ y se lleva a cabo una segmentación por preguntas:

pkgs <- c('sqldf', 'ggplot2', 'cluster', 'reshape2')
res=lapply(pkgs, require, character.only = T)
## Loading required package: sqldf
## Loading required package: gsubfn
## Loading required package: proto
## Loading required package: RSQLite
## Loading required package: DBI
## Loading required package: ggplot2
## Loading required package: cluster
## Loading required package: reshape2
setwd('~/git/TFGM')
dd=read.csv(file="InfTribunal_Valoraciones_26Marzo2015.csv",sep=";",header=TRUE,
            stringsAsFactors = FALSE)
dd[,8]=as.numeric(sub('NIVEL ','',dd[,8]))
df = sqldf(paste("select especialidad,id_indicador, avg(nivel),stdev(Nivel),",
      "avg(Nota), count(id_indicador) from dd group by id_indicador, ",
      "especialidad",sep=""))
## Loading required package: tcltk
df=df[! is.na(df$Especialidad),]
colnames(df)=c("Especialidad","Pregunta","Nivel","sdNivel","Nota","Poblacion")
df[,"Pregunta"]=as.factor(df[,"Pregunta"])
df[,"Especialidad"]=as.factor(df[,"Especialidad"])
df[,"Nivel"] = round(as.numeric(df[,"Nivel"]),2)
#
ggplot(data=df) + 
        geom_point(aes(x=Nivel,y=Nota,shape=Especialidad,col=Pregunta),size=3) +
        xlab("Nivel respuesta") + ylab("Nota") +  theme_bw() +
        scale_shape_manual(values=LETTERS[1:10]) + labs(shape = "Especialidad") +
        guides(col=guide_legend(nrow=12))

#

Luego la conclusión es obvia: Las preguntas de la rúbrica son independientes de la calificación.

Veamos si aunque cada pregunta aislada no se relacione con la nota, puede existir alguna relación entre la suma de las preguntas y aquella:

dt = sqldf(paste("select especialidad,id_indicador, avg(nivel) as Nivel, id_pfc, ",
      "Nota from dd group by especialidad,id_indicador,id_pfc,Nota",sep=""))
dtt = dcast(dt,id_pfc + Especialidad + Nota~id_indicador,value.var='Nivel')
dtt[,ncol(dtt)]=apply(dtt[,4:15],1,sum,na.rm=TRUE)
colnames(dtt)[ncol(dtt)]="SumaNiveles"
dtt[,"Especialidad"] = as.factor(dtt$Especialidad)
dtt=dtt[! is.na(dtt$id_pfc),]
#
ggplot(data=dtt[dtt$Especialidad==0,]) + 
        geom_point(aes(x=SumaNiveles,y=Nota),size=3) +
        xlab("Nivel promediado de respuestas por rol. Especialidad=0") + 
        ylab("Nota") +  theme_bw() 

ggplot(data=dtt[dtt$Especialidad==1,]) + 
        geom_point(aes(x=SumaNiveles,y=Nota),size=3) +
        xlab("Nivel promediado de respuestas por rol. Especialidad=1") + 
        ylab("Nota") +  theme_bw() 

ggplot(data=dtt[dtt$Especialidad==2,]) + 
        geom_point(aes(x=SumaNiveles,y=Nota),size=3) +
        xlab("Nivel promediado de respuestas por rol. Especialidad=2") + 
        ylab("Nota") +  theme_bw() 

ggplot(data=dtt[dtt$Especialidad==3,]) + 
        geom_point(aes(x=SumaNiveles,y=Nota),size=3) +
        xlab("Nivel promediado de respuestas por rol. Especialidad=3") + 
        ylab("Nota") +  theme_bw() 

ggplot(data=dtt[dtt$Especialidad==4,]) + 
        geom_point(aes(x=SumaNiveles,y=Nota),size=3) +
        xlab("Nivel promediado de respuestas por rol. Especialidad=4") + 
        ylab("Nota") +  theme_bw() 

ggplot(data=dtt[dtt$Especialidad==5,]) + 
        geom_point(aes(x=SumaNiveles,y=Nota),size=3) +
        xlab("Nivel promediado de respuestas por rol. Especialidad=5") + 
        ylab("Nota") +  theme_bw() 

ggplot(data=dtt[dtt$Especialidad==6,]) + 
        geom_point(aes(x=SumaNiveles,y=Nota),size=3) +
        xlab("Nivel promediado de respuestas por rol. Especialidad=6") + 
        ylab("Nota") +  theme_bw() 

ggplot(data=dtt[dtt$Especialidad==7,]) + 
        geom_point(aes(x=SumaNiveles,y=Nota),size=3) +
        xlab("Nivel promediado de respuestas por rol. Especialidad=7") + 
        ylab("Nota") +  theme_bw() 

ggplot(data=dtt[dtt$Especialidad==8,]) + 
        geom_point(aes(x=SumaNiveles,y=Nota),size=3) +
        xlab("Nivel promediado de respuestas por rol. Especialidad=8") + 
        ylab("Nota") +  theme_bw() 

ggplot(data=dtt[dtt$Especialidad==9,]) + 
        geom_point(aes(x=SumaNiveles,y=Nota),size=3) +
        xlab("Nivel promediado de respuestas por rol. Especialidad=9") + 
        ylab("Nota") +  theme_bw() 

#

En resumen, este sistema así concebido y bajo la hipótesis de suma de niveles promediados por tribunal dentro de cada pregunta de la rúbrica parece carecer de trazabilidad.