วิธีการแสดงแถบข้อผิดพลาดสำหรับการทดลองข้ามคู่


19

สถานการณ์ต่อไปนี้ได้กลายเป็นคำถามที่พบบ่อยที่สุดในสามผู้ตรวจสอบ (I) ผู้ตรวจสอบ / บรรณาธิการ (R ไม่เกี่ยวข้องกับ CRAN) และฉัน (M) ในฐานะผู้สร้างพล็อต เราสามารถสรุปได้ว่า (R) เป็นผู้ตรวจทานบอสใหญ่ทางการแพทย์โดยทั่วไปที่รู้ว่าแต่ละพล็อตต้องมีแถบข้อผิดพลาดมิฉะนั้นจะผิด เมื่อผู้ตรวจทานเชิงสถิติเข้ามาเกี่ยวข้องปัญหาก็สำคัญน้อยกว่ามาก

สถานการณ์

ในการศึกษาทางเภสัชวิทยาทั่วไปพบว่ามีการทดสอบยา A และ B สองตัวเพื่อดูผลของระดับน้ำตาลในเลือด ผู้ป่วยแต่ละรายจะถูกทดสอบสองครั้งตามลำดับแบบสุ่มและอยู่ภายใต้ข้อสมมติว่าไม่มีการพกพา จุดสิ้นสุดหลักคือความแตกต่างระหว่างกลูโคส (BA) และเราคิดว่าการทดสอบแบบจับคู่นั้นเพียงพอแล้ว

(I) ต้องการพล็อตที่แสดงระดับน้ำตาลที่แน่นอนในทั้งสองกรณี เขากลัวความต้องการของแถบข้อผิดพลาดและขอข้อผิดพลาดมาตรฐานในกราฟแท่ง อย่าเริ่มสงครามกราฟแท่งที่นี่เลย)

กราฟแท่งและกลูโคส SE สำหรับสองการรักษา

(I): นั่นไม่เป็นความจริง แท่งมีการทับซ้อนกันและเรามี p = 0.03? นั่นไม่ใช่สิ่งที่ฉันได้เรียนรู้ในโรงเรียนมัธยม

(M): เรามีการออกแบบที่จับคู่ที่นี่ แถบข้อผิดพลาดที่ร้องขอนั้นไม่เกี่ยวข้องทั้งหมดสิ่งที่นับคือ SE / CI ของความแตกต่างที่จับคู่ซึ่งไม่ได้แสดงในพล็อต ถ้าฉันมีตัวเลือกและมีข้อมูลไม่มากเกินไปฉันจะชอบพล็อตต่อไปนี้

เส้นที่เข้าร่วมแสดงการจับคู่จุดค่าดั้งเดิม

เพิ่ม 1:นี่คือพล็อตพิกัดขนานที่กล่าวถึงในหลายคำตอบ

(M): เส้นแสดงการจับคู่และเส้นส่วนใหญ่ขึ้นไปและนั่นคือความประทับใจที่ถูกต้องเพราะความลาดชันคือสิ่งที่นับได้ (ตกลงนี่คือการจัดหมวดหมู่ แต่อย่างไรก็ตาม)

(I): ภาพนั้นสับสน ไม่มีใครเข้าใจและไม่มีแถบข้อผิดพลาด (R แฝงตัวอยู่)

(M): เราสามารถเพิ่มพล็อตอื่นที่แสดงช่วงความมั่นใจที่เกี่ยวข้องของความแตกต่าง ระยะห่างจากเส้นศูนย์จะให้ความประทับใจกับขนาดของเอฟเฟกต์

(I): ไม่มีใครทำ

(R): และมันทำให้ต้นไม้มีค่า

(M): (ภาษาเยอรมันดี): ใช่มีการชี้ไปที่ต้นไม้ แต่ฉันก็ยังใช้มัน (และไม่เคยได้รับการตีพิมพ์) เมื่อเรามีการรักษาหลายอย่างและความแตกต่างหลายอย่าง

ช่วงความเชื่อมั่นของความแตกต่าง

ข้อเสนอแนะใด ? รหัส R อยู่ด้านล่างหากคุณต้องการสร้างพล็อต

# 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()

Oh my goodness @ dieter-menne คำถามที่ยอดเยี่ยม! มันขึ้นอยู่กับประเภทของวารสารที่คุณส่งบทความ ฉันจะอยู่ห่างจากสงครามกราฟ แต่ฉันรักกราฟ 2 และ 3: ข้อมูลมากมายในพื้นที่น้อย
doug.numbers

4
Masson และ Loftus (2003)เป็นข้อมูลอ้างอิงที่ได้รับมาบ่อยครั้ง พวกเขาแสดงตัวอย่างแผนการที่พวกเขาแผง CI ของความแตกต่างในแผงที่สองของกราฟเดียวกัน ไม่ว่าจะทำให้ทุกคนในคณะละครสัตว์มีความสุขฉันไม่รู้ (ฉันรู้สึกว่าคุณ!)
Andy W

ขอบคุณ @AndyW สำหรับการอ้างอิง มันเป็นประเด็น แต่มีปัญหา: มันมาจากจิตวิทยา มีบทความดีๆอีกมากมายเกี่ยวกับเรื่องนี้จากนักจิตวิทยาที่มีพื้นฐานทางสถิติที่ดีกว่าเมื่อเปรียบเทียบกับผู้ตรวจสอบทางการแพทย์ ฉันหวังว่าฉันจะสามารถหาคำแนะนำในวารสารระดับสูงเกี่ยวกับเรื่องนี้ได้นั่นเป็นดาบเล่มเดียวที่ฉันสามารถจัดการได้
Dieter Menne

คำตอบ:


17

คุณถูกต้องอย่างสมบูรณ์ในการสันนิษฐานของคุณว่าแถบข้อผิดพลาดที่แสดงถึงข้อผิดพลาดมาตรฐานของค่าเฉลี่ยนั้นไม่เหมาะสมโดยสิ้นเชิงสำหรับการออกแบบภายในเรื่อง อย่างไรก็ตามคำถามของแถบข้อผิดพลาดและความสำคัญที่ทับซ้อนกันนั้นเป็นอีกหัวข้อหนึ่งซึ่งฉันจะกลับมาที่ส่วนท้ายของรายการอ้างอิงที่แสดงความคิดเห็นนี้

มีวรรณกรรมมากมายจากจิตวิทยาในช่วงความเชื่อมั่นภายในเรื่องหรือแถบข้อผิดพลาดซึ่งทำสิ่งที่คุณต้องการ งานอ้างอิงชัดเจน:

Loftus, GR, & Masson, MEJ (1994) ใช้ช่วงความเชื่อมั่นในการออกแบบภายในเรื่อง แถลงการณ์เชิงจิตวิทยาและทบทวน , 1 (4), 476–490 ดอย: 10.3758 / BF03210951

อย่างไรก็ตามปัญหาของพวกเขาคือพวกเขาใช้คำผิดพลาดเดียวกันสำหรับทุกระดับของปัจจัยภายในเรื่อง สิ่งนี้ดูเหมือนจะไม่เป็นปัญหาใหญ่สำหรับกรณีของคุณ (2 ระดับ) แต่มีวิธีการที่ทันสมัยกว่าในการแก้ปัญหานี้ สะดุดตาที่สุด:

Franz, V. , & Loftus, G. (2012) ข้อผิดพลาดและช่วงความเชื่อมั่นมาตรฐานในการออกแบบภายในวิชา: generalizing Loftus และซซ็อง (1994) และหลีกเลี่ยงอคติของบัญชีทางเลือก Bulletin & ทบทวนจิตวิทยา , 1–10. ดอย: 10.3758 / s13423-012-0230-1

Baguley, T. (2011) การคำนวณและการสร้างกราฟภายในช่วงความเชื่อมั่นของอาสาสมัครสำหรับ ANOVA วิธีการวิจัยพฤติกรรม ดอย: 10.3758 / s13428-011-0123-7 [ สามารถพบได้ที่นี่ ]

การอ้างอิงเพิ่มเติมสามารถพบได้ในเอกสารสองฉบับหลัง (ซึ่งฉันคิดว่าทั้งคู่มีค่าควรอ่าน)


นักวิจัยตีความ CIs อย่างไร ไม่ดีตามกระดาษต่อไปนี้:

Belia, S. , Fidler, F. , Williams, J. , & Cumming, G. (2005) นักวิจัยเข้าใจผิดช่วงความเชื่อมั่นและ Standard บาร์ข้อผิดพลาด วิธีการทางจิตวิทยา , 10 (4), 389–396 ดอย: 10.1037 / 1082-989X.10.4.389

เราควรตีความ CIs ที่ทับซ้อนกันและไม่ทับซ้อนกันอย่างไร

คัมมิง, G. , & Finch, S. (2005) อนุมานโดยตา: ช่วงความเชื่อมั่นและวิธีการอ่านภาพของข้อมูล นักจิตวิทยาอเมริกัน , 60 (2), 170–180 ดอย: 10.1037 / 0003-066X.60.2.170


หนึ่งความคิดสุดท้าย (แม้ว่าสิ่งนี้จะไม่เกี่ยวข้องกับกรณีของคุณ): หากคุณมีการออกแบบแยกส่วน (เช่นปัจจัยภายในและระหว่างเรื่อง) ในพล็อตเดียวคุณสามารถลืมแถบข้อผิดพลาดทั้งหมดเข้าด้วยกัน ฉันจะ (เจียม) แนะนำของฉันฟังก์ชั่นในแพคเกจการraw.means.plot Rplotrix


2
รายการอ้างอิงที่มีประโยชน์มาก คัมมิงได้รวบรวมความคิดมากมายของเขาเข้าด้วยกันในamazon.com/Understanding-New-Statistics-Meta-Analysis-ebook/dp/… (ไม่ว่าคุณต้องการจะพูดอะไรเกี่ยวกับนิพจน์ "สถิติใหม่" ฉันอาจเห็นด้วย)
Nick Cox


@amoeba กระดาษ Baguley ที่ฉันอ้างถึงใช้เทคนิค Morey paper
Henrik

10

คำถามดูเหมือนจะไม่เกี่ยวกับแถบข้อผิดพลาดมากพอ ๆ กับวิธีที่ดีที่สุดในการวางแผนข้อมูลที่จับคู่

ในแถบข้อผิดพลาดที่สำคัญที่สุดที่นี่เป็นวิธีการสรุปความไม่แน่นอน: พวกเขาไม่ได้และพวกเขาไม่สามารถพูดถึงโครงสร้างที่ดีในข้อมูลได้

พล็อตพิกัดขนาน - บางครั้งเรียกว่าพล็อตโพรไฟล์คำที่หมายถึงสิ่งต่าง ๆ ในเขตข้อมูลที่แตกต่างกันได้ถูกกล่าวถึงในคำถาม @Ray Koopman แนะนำแผนการกระจายพื้นฐานแล้ว

A-B(A+B)/2A+B

แหล่งอื่นสำหรับพล็อตนี้คือ Neyman, J. , Scott, EL และ Shane, CD 1953 เกี่ยวกับการกระจายตัวของกาแลคซีเชิงพื้นที่: โมเดลจำเพาะ วารสารฟิสิกส์ดาราศาสตร์ 117: 92–133

ในแง่กว้างแผนการดังกล่าวมีลักษณะคล้ายกับความคิดของการวางแผนส่วนที่เหลือเมื่อเทียบกับที่ติดตั้งยังเป็นที่นิยมโดย Tukey และน้องเขยของเขา Anscombe

A-B=0A=BAB

การออกแบบที่ถูกทอดทิ้งคือพล็อตเส้นคู่ขนานของ McNeil, DR 1992 ในข้อมูลกราฟที่จับคู่ อเมริกันสถิติ 46: 307–310 นอกจากนี้ยังมีการกล่าวถึงในการอ้างอิงทั้งสองด้านล่าง

บทวิจารณ์ที่เชื่อมโยงแบบ Stata มีการอ้างอิงหลายรายการ

ปี 2004 ข้อตกลงการสร้างกราฟและความขัดแย้ง Stata Journal 4: 329-349

.pdf เข้าถึงได้ที่http://www.stata-journal.com/sjpdf.html?articlenum=gr0005

แผนการจับคู่ขนานหรือโปรไฟล์สำหรับการเปลี่ยนแปลงความสัมพันธ์และการเปรียบเทียบอื่น ๆ Stata Journal 9: 621-639

.pdf เข้าถึงได้ที่http://www.stata-journal.com/sjpdf.html?articlenum=gr0041

ผู้ใช้ที่ไม่ได้ใช้ Stata ควรสามารถข้ามและครวญเพลงของพวกเขาผ่านรหัส Stata ในขณะที่หาวิธีใช้กราฟในซอฟต์แวร์ที่พวกเขาโปรดปราน

AB


4

ลองพล็อตกระจายของแต่ละจุด (A, B) ส่วนใหญ่ควรนอนตะแคงข้างเดียว (เส้น A = B) มีข้อผิดพลาดสองแบบของแถบข้อผิดพลาด แบบดั้งเดิมซึ่งเทียบเท่ากับ CI สำหรับความแตกต่างเฉลี่ยจะเป็นวงความเชื่อมั่นสำหรับความแตกต่างเฉลี่ย วงดนตรีจะเป็นพื้นที่ระหว่างสองบรรทัดซึ่งทั้งคู่ขนานกับแนวทแยงมุม การทดสอบแบบจับคู่จะมีความสำคัญถ้าและถ้าขอบทั้งสองของวงอยู่ในด้านเดียวกันของเส้นทแยงมุม

อะนาล็อกแถบข้อผิดพลาดที่อนุรักษ์นิยมมากขึ้นจะเป็นวงรีที่มีความมั่นใจสำหรับเซนทรอยด์


1
ม.อีเสื้อชั่วโมงโอdBม.อีเสื้อชั่วโมงโอdA

ไม่ได้ - :) เคมีคลินิกมีความซับซ้อนเกินไป เป็นไปได้ไหมว่าคุณได้เพิ่มการอ้างอิงใน "นั่น"; ฉันไม่แน่ใจว่าคุณกำลังพูดถึงกระดาษอะไร
Dieter Menne

4

สรุปเบื้องต้น:

Masson / Loftusนั้นครบถ้วนสมบูรณ์มากและไม่ใช่เรื่องง่ายที่จะอ่านให้กับเพื่อนร่วมงานด้านการแพทย์ของฉันที่ไม่ยอมรับสิ่งที่เหมือน "ปฏิสัมพันธ์" พวกเขายังมีคำแนะนำสำหรับการเปรียบเทียบหลายรายการซึ่งแสดงว่าช่วงความเชื่อมั่นของแต่ละคู่นั้นยากที่จะอธิบายเมื่อใครไม่ต้องการลดความซับซ้อนลงอย่างมาก

Masson Loftus

ฉันไม่ชอบสไตล์นี้: แถบที่มีแถบข้อผิดพลาดดู Excelish พันปีที่แล้ว อย่างไรก็ตามพวกเขายังใช้สไตล์ที่หรูหรากว่านี้เล็กน้อย:

Masson Loftus ไร้บาร์

Cumming / FinchและBelia และคณะ จะต้องอ่าน ครั้งแรกที่เป็นตัวเลือกที่สมบูรณ์แบบที่จะให้เพื่อนของคุณที่สั่นเมื่อ (s) ที่เขาเห็นคำว่าการมีปฏิสัมพันธ์ ฉันสั่งหนังสือคัมมิงหลังจากอ่านบทความนั้น ข้อที่สองแสดงถึงการทดสอบที่ฉันจะนำไปใช้ในShiny สำหรับการประชุมนักลงทุนด้านการแพทย์ครั้งต่อไป

คัมมิง / นกกระจิบ

ฉันชอบพล็อตนี้แม้ว่าจะมีแกนที่สองซึ่งฉันไม่เคยใช้มาก่อน ตรวจสอบผลงานของ Henrik และคนอื่น ๆ ในStackOverflowสำหรับวิธีกราฟิก R-base เพื่อรับมัน ฉันต้องการวางแกนที่สองทางด้านซ้ายของความแตกต่างเพื่อให้ชัดเจนว่าค่านั้นเปลี่ยนไปและอาจเพิ่มแกน p-value

ทุกคนจากเศษส่วนตาข่าย / ggplot ยิง? โซลูชันที่ให้มาทั้งหมดเป็นกราฟิกพื้นฐานและไม่ใช่แบบแผงหน้าจอ /

อย่างไรก็ตาม: โปรดทราบว่าความคิดเห็นและเอกสารส่วนใหญ่มาจากแผนกจิตวิทยา (และ @cbeleites จากเคมีไม่ยอมใครง่ายๆ) เป็นการดีที่จะได้รับความคิดเห็นจากผู้ตรวจสอบวารสารการแพทย์


0

ทำไมไม่ลองพล็อตความแตกต่าง * สำหรับผู้ป่วยแต่ละราย? จากนั้นคุณสามารถใช้ฮิสโตแกรมพล็อตแบบกล่องหรือพล็อตความน่าจะเป็นแบบปกติและซ้อนทับช่วงความมั่นใจ 95% สำหรับความแตกต่าง

  • ในบางสถานการณ์อาจเป็นความแตกต่างของลอการิทึม ดูตัวอย่างเช่น Patterson & Jones, "ชีวสมมูลและสถิติในเภสัชวิทยาคลินิก", Chapman, 2006

ทำไมจะไม่ล่ะ? มันอาจให้ข้อมูลที่ถูกต้อง แต่พล็อตที่มีแต่ละคะแนนหรือคู่นั้นไม่เป็นที่นิยมในการวิจัยทางการแพทย์ นั่นเป็นเหตุผลที่พล็อตแบบขนาน (ซึ่งให้ข้อมูลเพิ่มเติม) จึงไม่เป็นที่นิยม นักวิจัยทางการแพทย์ต้องการค่าเฉลี่ยและ "ช่วงปกติ" (อะไรก็ตามที่เป็น)
Dieter Menne
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.