Il seguente scenario è diventato la maggior parte delle FAQ nel trio di investigatore (I), revisore / editore (R, non correlato a CRAN) e me (M) come creatore di trama. Possiamo presumere che (R) sia il tipico revisore medico di big boss, che sa solo che ogni trama deve avere una barra di errore, altrimenti è sbagliato. Quando è coinvolto un revisore statistico, i problemi sono molto meno critici.
Scenario
In un tipico studio incrociato farmacologico, due farmaci A e B sono testati per il loro effetto sul livello di glucosio. Ogni paziente viene testato due volte in ordine casuale e supponendo che non vengano riportati. L'endpoint primario è la differenza tra glucosio (BA) e supponiamo che un t-test associato sia adeguato.
(I) vuole un diagramma che mostri i livelli assoluti di glucosio in entrambi i casi. Teme il desiderio di (R) di barre di errore e chiede errori standard nei grafici a barre. Non iniziamo la guerra dei grafici a barre qui ._)
(I): Non può essere vero. Le barre si sovrappongono e abbiamo p = 0,03? Non è quello che ho imparato al liceo.
(M): abbiamo un design abbinato qui. Le barre di errore richieste sono totalmente irrilevanti, ciò che conta è il SE / CI delle differenze accoppiate, che non sono mostrate nel grafico. Se avessi una scelta e non ci fossero troppi dati, preferirei la seguente trama
Aggiunto 1: questo è il diagramma delle coordinate parallele menzionato in diverse risposte
(M): le linee mostrano l'accoppiamento e la maggior parte delle linee salgono, e questa è l'impressione giusta, perché la pendenza è ciò che conta (ok, questo è categorico, ma comunque).
(I): Quell'immagine è confusa. Nessuno lo capisce e non ha barre di errore (R è in agguato).
(M): potremmo anche aggiungere un altro grafico che mostra l'intervallo di confidenza pertinente della differenza. La distanza dalla linea zero dà un'impressione della dimensione dell'effetto.
(I): Nessuno lo fa
(R): E spreca alberi preziosi
(M): (come un buon tedesco): Sì, viene preso il punto sugli alberi. Ma lo uso comunque (e non lo faccio mai pubblicare) quando abbiamo più trattamenti e più contrasti.
Qualche suggerimento ? Il codice R è di seguito, se si desidera creare una trama.
# 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()