วิธีการมองเห็นเปอร์เซ็นต์เปรียบเทียบกับจำนวนรายการ


10

ฉันกำลังพยายามหาวิธีที่ดีที่สุดในการมองเห็นแผนภูมิด้านล่างและเน้นประสิทธิภาพของการรักษาตามที่ระบุไว้กับจำนวนผู้ป่วยที่พยายามรักษา นี่คือลิงค์ไปยังหน้าจริง: http://curetogether.com/cluster-headaches/treatments/

ตำนานการรักษาอาการปวดหัวคลัสเตอร์ การรักษาอาการปวดหัวแบบคลัสเตอร์

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

ขอบคุณ!


(โปรดอย่าใช้แผนภูมิวงกลม)โดย "เน้นประสิทธิภาพในขณะที่ยังทำให้ง่ายต่อการเปรียบเทียบการรักษา" คุณหมายถึงความจริงที่ว่าเช่นเป็นการยากที่จะดูcaffeineหรือibuprofenนำไปสู่ความน่าจะเป็นที่สูงขึ้นmoderate improvementเพราะเส้นเขตแดน แตกต่างกันอย่างไร หรืออย่างอื่น?
gung - Reinstate Monica

คำตอบ:


12

คุณต้องการเปรียบเทียบ "ประสิทธิผล" และประเมินจำนวนผู้ป่วยที่รายงานการรักษาแต่ละครั้ง ประสิทธิผลถูกบันทึกไว้ในหมวดหมู่ที่ไม่ต่อเนื่องกันห้าหมวด แต่ (อย่างใด) ก็สรุปเป็น "ค่าเฉลี่ย" (ค่าเฉลี่ย) ค่าซึ่งบอกว่ามันคิดว่าเป็นตัวแปรเชิงปริมาณ

ดังนั้นเราควรเลือกกราฟิกที่มีองค์ประกอบที่ปรับตัวได้ดีเพื่อถ่ายทอดข้อมูลประเภทนี้ ในบรรดาโซลูชันที่ยอดเยี่ยมแนะนำให้ใช้ด้วยตนเองเราใช้สคีมานี้:

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

  • แสดงจำนวนผู้ป่วยด้วยสัญลักษณ์กราฟิกบางอย่างที่สามารถเห็นได้อย่างง่ายดายว่าเป็นสัดส่วนโดยตรงกับตัวเลขเหล่านั้น สี่เหลี่ยมเหมาะสมดี: สามารถจัดวางเพื่อตอบสนองความต้องการก่อนหน้านี้และขนาดในทิศทาง orthogonal เพื่อให้ทั้งความสูงและพื้นที่ของพวกเขาถ่ายทอดข้อมูลจำนวนผู้ป่วย

  • แยกความแตกต่างของหมวดหมู่ประสิทธิผลทั้งห้าด้วยค่าสีและ / หรือการแรเงา รักษาการเรียงลำดับของหมวดหมู่เหล่านี้

ข้อผิดพลาดอย่างใหญ่หลวงอย่างหนึ่งที่เกิดจากกราฟิกในคำถามคือค่าภาพที่โดดเด่นที่สุด - ความยาวของแท่ง - แสดงถึงข้อมูลหมายเลขผู้ป่วยมากกว่าข้อมูลประสิทธิผลทั้งหมด เราสามารถแก้ไขได้อย่างง่ายดายโดยการกำหนดแต่ละแท่งใหม่ด้วยค่ากลางธรรมชาติ

โดยไม่ทำการเปลี่ยนแปลงอื่น ๆ (เช่นการปรับปรุงโทนสีซึ่งเป็นสิ่งที่ไม่ดีสำหรับคนตาบอดสี) นี่คือการออกแบบใหม่

รูป

ฉันเพิ่มเส้นประแนวนอนเพื่อช่วยให้ดวงตาเชื่อมต่อฉลากด้วยพล็อตและลบเส้นแนวตั้งบาง ๆ เพื่อแสดงตำแหน่งศูนย์กลางส่วนกลาง

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

หนึ่งผลกระทบของการออกแบบนี้คือ serendipitous ชื่อของการรักษาที่มีการตอบสนองหลายอย่างถูกแยกออกจากกันในแนวตั้งทำให้ง่ายต่อการสแกนและดูว่าการรักษาใดที่ได้รับความนิยมมากที่สุด

สิ่งที่น่าสนใจอีกอย่างคือกราฟิกนี้เรียกว่าอัลกอริทึมที่ใช้ในการสั่งการรักษาด้วย "Avg. ประสิทธิผล": ทำไมตัวอย่างเช่น "การติดตามอาการปวดหัว" อยู่ในระดับต่ำมากเมื่ออยู่ในการรักษาที่ได้รับความนิยมมากที่สุด การไม่มีผลข้างเคียง

Rโค้ดที่รวดเร็วและสกปรกที่สร้างพล็อตนี้จะถูกต่อท้าย

x <- c(0,0,3,5,5,
       0,0,0,0,2,
       0,0,3,2,4,
       0,1,7,9,7,
       0,0,3,2,3,
       0,0,0,0,1,
       0,1,1,1,2,
       0,0,2,2,1,
       0,0,1,0,1,
       0,0,3,2,1,
       0,0,2,0,1,
       1,0,5,5,2,
       1,3,15,15,4,
       1,2,5,7,3,
       0,0,4,4,0,
       0,0,2,2,0,
       0,0,3,0,1,
       0,0,2,2,0,
       0,4,18,19,2,
       0,0,2,1,0,
       3,1,27,25,3,
       1,0,2,2,1,
       0,0,4,2,0,
       0,1,6,5,0,
       0,0,3,1,0,
       3,0,3,7,2,
       0,1,0,1,0,
       0,0,21,4,2,
       0,0,6,1,0,
       1,0,2,0,1,
       2,4,15,8,1,
       1,1,3,1,0,
       0,0,1,0,0,
       0,0,1,0,0)
levels <- c("Made it much worse", "Made it slightly worse", "No effect or uncertain",
            "Moderate improvement", "Major improvement")
treatments <-  c("Oxygen", "Gluten-free diet", "Zomig", "Sumatriptan", "Rizatriptan (Maxalt)",
                 "Dilaudid suppository", "Dilaudid-Morphine", "Verapamil",
                 "Magic mushrooms", "Magnesium", "Psilocybine", "Excedrin Migraine",
                 "Ice packs on neck and head", "Passage of time", "Red Bull", "Lidocaine",
                 "Vitamin B-2 (Roboflavin)", "Caffergot", "Caffeine", "Tobasco in nose / on tongue")
treatments <- c(treatments, 
                 "Ibuprofen", "Topamax", "Excedrin Tension Headache", "Acetaminophen (Tylenol)",
                 "Extra Strength Excedrin", "Hot water bottle", "Eletriptan", 
                 "Headache tracking", "Women to Women vitamins", "Effexor", "Aspirin",
                 "Propanolol", "L-Arginine", "Fioricet")
x <- t(matrix(x, 5, dimnames=list(levels, treatments)))
#
# Precomputation for plotting.
#
n <- dim(x)[1]
m <- dim(x)[2]
d <- as.data.frame(x)
d$Total <- rowSums(d)
d$Effectiveness <- (x %*% c(-2,-1,0,1,2)) / d$Total
d$Root <- (d$Total)
#
# Set up the plot area.
#
colors <- c("#704030", "#d07030", "#d0d0d0", "#60c060", "#387038")
x.left <- 0; x.right <- 6; dx <- x.right - x.left; x.0 <- x.left-4
y.bottom <- 0; y.top <- 10; dy <- y.top - y.bottom
gap <- 0.4
par(mfrow=c(1,1))
plot(c(x.left-1, x.right), c(y.bottom, y.top), type="n", 
     bty="n", xaxt="n", yaxt="n", xlab="", ylab="", asp=(y.top-y.bottom)/(dx+1))
#
# Make the plots.
#
u <- t(apply(x, 1, function(z) c(0, cumsum(z)) / sum(z)))
y <- y.top - dy * c(0, cumsum(d$Root/sum(d$Root) + gap/n)) / (1+gap)

invisible(sapply(1:n, function(i) {
  lines(x=c(x.0+1/4, x.right), y=rep(dy*gap/(2*n)+(y[i]+y[i+1])/2, 2),
        lty=3, col="#e0e0e0")
  sapply(1:m, function(j) {
  mid <- (x.left - (u[i,3] + u[i,4])/2)*dx
  rect(mid + u[i,j]*dx, y[i+1] + (gap/n)*(y.top-y.bottom), 
       mid + u[i,j+1]*dx, y[i], 
       col=colors[j], border=NA)
})}))
abline(v = x.left, col="White")
labels <- mapply(function(s,n) paste0(s, " (", n, ")"), rownames(x), d$Total)
text(x.0, (y[-(n+1)]+y[-1])/2, labels=labels, adj=c(1, 0), cex=0.8,
     col="#505050")

ว้าวขอบคุณสำหรับคำตอบที่ชัดเจนและทั่วถึง มันเป็นทางออกที่ยอดเยี่ยมในการมองเห็นข้อมูลทั้งหมด กราฟตัวอย่างที่คุณสร้างขึ้นช่วยให้เข้าใจคำตอบได้อย่างรวดเร็วซึ่งมีประโยชน์เช่นกัน ขอบคุณ!
David Hobs

2
(+1) การสร้างภาพข้อมูลที่ดี จากบันทึกย่อแพ็คเกจlikertและHH R มีฟังก์ชั่นสำหรับแผนภูมิแท่งแบบสแต็คที่กำหนดเป้าหมายเป็น Likert scale โดยเฉพาะ ในแพ็คเกจหลังมีความเป็นไปได้ที่จะให้ความสูงของแต่ละแท่งแตกต่างกันไปตามขนาดตัวอย่าง (ดูหน้า 12 ในกระดาษ JSS นี้ )
chl

3

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

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.