El siguiente escenario se ha convertido en las preguntas más frecuentes del 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 médico de grandes jefes, que solo sabe que cada parcela debe tener una barra de error, de lo contrario, está mal. Cuando un revisor estadístico está involucrado, los problemas son mucho menos críticos.
Guión
En un estudio farmacológico cruzado típico, se analizan dos fármacos A y B para determinar su efecto sobre el nivel de glucosa. Cada paciente se prueba dos veces en orden aleatorio y bajo el supuesto de que no se transfiere. El punto final primario es la diferencia entre glucosa (BA), y suponemos que una prueba t pareada es adecuada.
(I) quiere una gráfica que muestre los niveles absolutos de glucosa en ambos casos. Teme el deseo de (R) de barras de error, y pide errores estándar en los gráficos de barras. No comencemos la guerra del gráfico de barras aquí ._)
(I): Eso no puede ser cierto. Las barras se superponen, y tenemos p = 0.03? Eso no es lo que aprendí en la escuela secundaria.
(M): Tenemos un diseño emparejado aquí. 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 tuviera una opción y no hubiera demasiados datos, preferiría la siguiente gráfica
Agregado 1: este es el diagrama 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 (bueno, esto es categórico, pero de todos modos).
(I): Esa imagen es confusa. Nadie lo entiende y no tiene barras de error (R está al acecho).
(M): También podríamos agregar otro gráfico que muestre el intervalo de confianza relevante de la diferencia. La distancia desde 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í, se toma el punto en los árboles. Pero, sin embargo, uso esto (y nunca lo publico) cuando tenemos múltiples tratamientos y múltiples contrastes.
Alguna sugerencia ? El código R está debajo, si desea crear un diagrama.
# 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()