निम्नलिखित परिदृश्य अन्वेषक (I), समीक्षक / संपादक (R, CRAN से संबंधित नहीं) और मुझे (M) के कथानक निर्माता के रूप में सबसे अधिक बार पूछे जाने वाले प्रश्न बन गए हैं। हम यह मान सकते हैं कि (आर) विशिष्ट मेडिकल बिग बॉस समीक्षक है, जो केवल यह जानता है कि प्रत्येक प्लॉट में त्रुटि बार होना चाहिए, अन्यथा यह गलत है। जब एक सांख्यिकीय समीक्षक शामिल होता है, तो समस्याएं बहुत कम होती हैं।
परिदृश्य
एक विशिष्ट फार्माकोलॉजिकल क्रॉस-ओवर अध्ययन में, ग्लूकोज स्तर पर उनके प्रभाव के लिए दो दवाओं ए और बी का परीक्षण किया जाता है। प्रत्येक मरीज को यादृच्छिक क्रम में दो बार परीक्षण किया जाता है और बिना कैरी-ओवर की धारणा के तहत। प्राथमिक समापन बिंदु ग्लूकोज (बीए) के बीच का अंतर है, और हम मानते हैं कि एक युग्मित टी-परीक्षण पर्याप्त है।
(I) एक ऐसा भूखंड चाहता है जो दोनों मामलों में पूर्ण ग्लूकोज स्तर दिखाता है। वह डर सलाखों के लिए (आर) की इच्छा है, और बार रेखांकन में मानक त्रुटियों के लिए पूछता है। आइए यहां बार ग्राफ युद्ध शुरू न करें ।_)
(I): यह सच नहीं हो सकता। बार ओवरलैप करते हैं, और हमारे पास पी = 0.03 है? ऐसा मैंने हाई स्कूल में नहीं सीखा है।
(एम): हमारे यहाँ एक युग्मित डिज़ाइन है। अनुरोधित त्रुटि पट्टियाँ पूरी तरह से अप्रासंगिक हैं, क्या अंतर युग्मित अंतरों के एसई / सीआई है, जो कि भूखंड में नहीं दिखाए जाते हैं। यदि मेरे पास कोई विकल्प था और बहुत अधिक डेटा नहीं थे, तो मैं निम्नलिखित कथानक को पसंद करूंगा
1 जोड़ा गया: यह कई प्रतिक्रियाओं में उल्लिखित समानांतर समन्वय साजिश है
M
(I): वह चित्र भ्रामक है। कोई भी इसे नहीं समझता है, और इसमें कोई त्रुटि पट्टियाँ नहीं हैं (आर लुकिंग है)।
(एम): हम एक और प्लॉट भी जोड़ सकते हैं जो अंतर के प्रासंगिक आत्मविश्वास अंतराल को दर्शाता है। शून्य-रेखा से दूरी प्रभाव के आकार का आभास देती है।
(I): कोई भी ऐसा नहीं करता है
(आर): और यह कीमती पेड़ों को बर्बाद करता है
(एम): (एक अच्छे जर्मन के रूप में): हां, पेड़ों पर बात की गई है। लेकिन जब भी हमारे पास कई उपचार और कई विरोधाभास होते हैं, तो मैं इसका उपयोग करता हूं (और इसे कभी प्रकाशित नहीं किया जाता है)।
कोई सुझाव ? यदि आप एक प्लॉट बनाना चाहते हैं, तो आर-कोड नीचे है।
# 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()