El siguiente escenario se ha convertido en el Most-FAQ en el trío de investigador (I), revisor/editor (R, no relacionado con CRAN) y yo (M) como creador de la trama. Podemos suponer que (R) es el típico revisor del gran jefe médico, que sólo sabe que cada parcela debe tener barra de error, de lo contrario es incorrecta. Cuando un revisor estadístico está involucrado, los problemas son mucho menos críticos.
Escenario
En un típico estudio farmacológico cruzado, se comprueba el efecto de dos fármacos A y B sobre el nivel de glucosa. Cada paciente se somete a la prueba dos veces en orden aleatorio y bajo el supuesto de que no hay arrastre. El criterio de valoración primario es la diferencia entre la glucosa (B-A), y suponemos que una prueba t pareada es adecuada.
(I) quiere un gráfico que muestre los niveles absolutos de glucosa en ambos casos. Teme el deseo de (R) de tener barras de error, y pide errores estándar en los gráficos de barras. No empecemos la guerra de los gráficos de barras aquí._)
(I): Eso no puede ser cierto. ¿Las barras se superponen y tenemos p=0,03? Eso no es lo que he aprendido en el instituto.
(M): Aquí tenemos un diseño emparejado. Las barras de error solicitadas son totalmente irrelevantes, lo que cuenta es el SE/CI de las diferencias emparejadas, que no se muestran en el gráfico. Si pudiera elegir y no hubiera demasiados datos, preferiría el siguiente gráfico
Añadido 1: Este es el gráfico de coordenadas paralelas mencionado en varias respuestas
(M): Las líneas muestran el emparejamiento, y la mayoría de las líneas suben, y esa es la impresión correcta, porque la pendiente es lo que cuenta (vale, esto es categórico, pero no obstante).
(I): Esa imagen es confusa. Nadie la entiende, y no tiene barras de error (R está al acecho).
(M): También podríamos añadir otro gráfico que muestre el intervalo de confianza pertinente de la diferencia. La distancia de la línea cero da una impresión del tamaño del efecto.
(I): Nadie lo hace
(R): Y desperdicia árboles preciosos
(M): (Como buen alemán): Sí, el punto de los árboles se toma. Pero, sin embargo, yo uso esto (y nunca se publica) cuando tenemos múltiples tratamientos y múltiples contrastes.
Alguna sugerencia ? El R-Code está abajo, si quieres crear un gráfico.
# Graphics for Crossover experiments
library(ggplot2)
library(plyr)
theme_set(theme_bw()+theme(panel.margin=grid::unit(0,"lines")))
n = 20
effect = 5
set.seed(4711)
glu0 = rnorm(n,120,30)
glu1 = glu0 + rnorm(n,effect,7)
dt = data.frame(patient = rep(paste0("P",10:(9+n))),
treatment = rep(c("A","B"), each=n),glucose = c(glu0,glu1))
dt1 = ddply(dt,.(treatment), function(x){
data.frame(glucose = mean(x$glucose), se = sqrt(var(x$glucose)/nrow(x)) )})
tt = t.test(glucose~treatment,paired=TRUE,data=dt,conf.int=TRUE)
dt2 = data.frame(diff = -tt$estimate,low=-tt$conf.int[2], up=-tt$conf.int[1])
p = paste("p =",signif(tt$p.value,2))
png(height=300,width=300)
ggplot(dt1, aes(x=treatment, y=glucose, fill=treatment))+
geom_bar(stat="identity")+
geom_errorbar(aes(ymin=glucose-se, ymax=glucose+se),size=1., width=0.3)+
geom_text(aes(1.5,150),label=p,size=6)
ggplot(dt,aes(x=treatment,y=glucose, group=patient))+ylim(0,190)+
geom_line()+geom_point(size=4.5)+
geom_text(aes(1.5,60),label=p,size=6)
ggplot(dt2,aes(x="",y=diff))+
geom_errorbar(aes(ymin=low,ymax=up),size=1.5,width=0.2)+
geom_text(aes(1,-0.8),label=p,size=6)+
ylab("95% CI of difference glucose B-A")+ ylim(-10,10)+
theme(panel.border=element_blank(), panel.grid.major.x=element_blank(),
panel.grid.major.y=element_line(size=1,colour="grey88"))
dev.off()