คุณจะเห็นภาพความสัมพันธ์ระหว่างตัวแปรเด็ดขาด 3 ตัวได้อย่างไร


21

ฉันมีชุดข้อมูลที่มีตัวแปรเด็ดขาดสามชุดและฉันต้องการเห็นภาพความสัมพันธ์ระหว่างทั้งสามในกราฟเดียว ความคิดใด ๆ

ขณะนี้ฉันกำลังใช้กราฟสามตัวต่อไปนี้: ป้อนคำอธิบายรูปภาพที่นี่

กราฟแต่ละกราฟใช้สำหรับระดับพื้นฐานของภาวะซึมเศร้า (Mild, Moderate, Severe) จากนั้นในแต่ละกราฟฉันดูความสัมพันธ์ระหว่างการรักษา (0,1) และการปรับปรุงอาการซึมเศร้า (ไม่มี, ปานกลาง, เป็นกอบเป็นกำ)

กราฟ 3 ตัวนี้ทำงานเพื่อดูความสัมพันธ์แบบ 3 ทาง แต่มีวิธีการทำเช่นนี้กับกราฟเดียวหรือไม่


4
การโพสต์ข้อมูลจะทำให้ผู้คนเล่นได้
Nick Cox

1
คุณมี 3 หมวดหมู่พื้นฐาน 2 หมวดหมู่การรักษาและ 3 ผลลัพธ์ของภาวะซึมเศร้า รับล่าสุด สัดส่วนของภาวะซึมเศร้าแต่ละประเภทสามารถแสดงได้ 6 จุดบนพล็อตสามเหลี่ยม (trilinear, ternary)
Nick Cox

4
เกิดอะไรขึ้นกับกราฟเหล่านี้
Aksakal

คุณสามารถให้ข้อมูลตามคำขอ @NickCox ได้หรือไม่? ฉันรวบรวมมันแค่ 18 ตัวเลข
gung - Reinstate Monica

คำตอบ:


12

นี่เป็นชุดข้อมูลที่น่าสนใจที่พยายามนำเสนอแบบกราฟิกส่วนหนึ่งเป็นเพราะมันไม่ได้จัดหมวดหมู่จริงๆ ปัจจัยทั้ง 3 ระดับลำดับและมีความเป็นไปได้ที่มีอิทธิพลซึ่งกันและกันระหว่างพวกเขา (สันนิษฐานว่ามันยากสำหรับmild baselineที่จะมีsubstantial improvement- หรืออาจจะsubstantial improvementหมายถึงสิ่งที่แตกต่างกันสำหรับแต่ละbaseline)

ด้วยตัวแปรหลายตัวมักจะไม่มีมุมมองเดียวที่แสดงคุณสมบัติทั้งหมดที่คุณอาจสนใจ ปัจจัยบางอย่างจะง่ายต่อการเปรียบเทียบกว่าปัจจัยอื่น ๆ ฉันคิดว่ามุมมองดั้งเดิมของคุณดีและดีกว่ากับคำแนะนำของ Nick Cox: ลบตำนานที่ซ้ำกันออกและใช้มาตราส่วนสีตามลำดับ

หากคุณสนใจที่จะเห็นความแตกต่างระหว่างการรักษาคุณสามารถเน้นการเปลี่ยนแปลงโดยใช้พล็อตพื้นที่แบบเรียงซ้อนแทนที่จะเป็นแท่งแบบเรียงซ้อน

ป้อนคำอธิบายรูปภาพที่นี่

ฉันมักจะระวังการซ้อนโดยทั่วไปเพราะมันยากที่จะอ่านค่ากลาง แต่มันบังคับใช้ลักษณะผลรวมคงที่ของข้อมูลนี้อีกครั้ง และทำให้ง่ายต่อการอ่านผลรวมmoderate+ substantialถ้ามันเกี่ยวข้อง ฉันพลิกลำดับของimprovementระดับเพื่อที่สูงกว่าดีกว่าสำหรับความถี่

เทียบเท่าโดยกราฟความลาดชัน

ป้อนคำอธิบายรูปภาพที่นี่

ง่ายต่อการอ่านแต่ละระดับ แต่ยากที่จะเข้าใจการโต้ตอบ คุณต้องจำไว้ว่าบรรทัดที่สามนั้นขึ้นอยู่กับอีกสองคนโดยตรง

เมื่อพิจารณาตามลำดับของข้อมูลอาจมีประโยชน์ในการแปลงimprovementค่าเป็นคะแนนตัวเลขซึ่งมักทำกับข้อมูลLikert ยกตัวอย่างเช่นnone=0, ,moderate=1 substantial=2จากนั้นคุณสามารถทำกราฟตัวแปรนั้นในระดับต่อเนื่อง ข้อเสียคือคุณต้องค้นหาคะแนนที่สมเหตุสมผล (เช่นอาจ 0, 1 และ 5 จะเป็นตัวแทนที่แท้จริง)

ป้อนคำอธิบายรูปภาพที่นี่

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

Graph Builder(
    Graph Spacing( 15 ),
    Variables( X( :treatment ), Y( :frequency ),
        Group X( :baseline ), Overlay( :improvement )
    ),
    Elements( Area( X, Y ) )
);

2
+1 ความคิดที่ยอดเยี่ยมบางอย่างที่นี่ แม้ว่าฉันจะกังวลเกี่ยวกับการวางซ้อน แต่ฉันคิดว่ากราฟแรกทำงานได้ดีที่สุด มันนำมาซึ่งการมีปฏิสัมพันธ์ที่น่าสนใจ: การรักษา 1 สร้างตัวอย่างที่เพิ่มขึ้นอย่างมากและไม่มีเลย!
Nick Cox

โพสต์ยอดเยี่ยม มีอีกอย่างหนึ่งที่สามารถสร้างกราฟที่ 1 ที่คุณแสดงใน R หรือไม่? ฉันไม่ได้ใช้ JMP มาระยะหนึ่งแล้ว
Alejandro Ochoa

1
@AlejandroOchoa ggplot มีพื้นที่ geom ดูการทำพล็อตในพื้นที่ซ้อนกันโดยใช้ ggplot2
xan

10

ก่อนอื่นนี่คือการอ่านของฉันจากกราฟที่ให้ข้อมูลสำหรับผู้ที่ต้องการเล่น (ทดลองหากคุณต้องการ) ข้อผิดพลาด off-by-one NB เป็นไปได้อย่างแน่นอนเช่นเดียวกับข้อผิดพลาดรวม

    improvement  treatment   baseline   frequency  
           none          0       mild          5  
       moderate          0       mild         41  
    substantial          0       mild          4  
           none          1       mild         19  
       moderate          1       mild         19  
    substantial          1       mild         12  
           none          0   moderate         19  
       moderate          0   moderate         24  
    substantial          0   moderate          7  
           none          1   moderate         20  
       moderate          1   moderate         14  
    substantial          1   moderate         16  
           none          0     severe          7  
       moderate          0     severe         21  
    substantial          0     severe         22  
           none          1     severe         12  
       moderate          1     severe         15  
    substantial          1     severe         23  

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

รายละเอียดส่วนใหญ่ในกราฟิกเป็นเพียงรายละเอียด จุดอ่อนเล็ก ๆ หลายอย่างในกราฟสามารถบั่นทอนประสิทธิภาพและการปรับปรุงเล็ก ๆ น้อย ๆ หลายอย่างสามารถช่วยได้เช่นกัน

ป้อนคำอธิบายรูปภาพที่นี่

วิธีสะกดคำ:

  1. ไม่จำเป็นต้องติดตั้งสามแผงที่นี่ด้วยการทำซ้ำแกนตำนานและข้อความ

  2. ตำนานมักจะสาปแช่งเช่นเดียวกับการให้พรผู้ซึ่งบังคับให้ผู้อ่านต้อง "กลับไปกลับมา" ทางจิตใจ (หรือจดจำตำนานไม่ใช่สิ่งที่ดึงดูดความสนใจ ข้อความที่ให้ข้อมูลที่ถูกต้องโดยแถบจะง่ายต่อการติดตาม

  3. รหัสสีสลัดผลไม้สามารถแจกจ่ายได้ ดูเหมือนว่าโดยพลการเช่นกัน: การปรับปรุง "ที่สำคัญ" เป็นเรื่องใหญ่ แต่ฉันพบว่าสีเหลืองที่แข็งแกร่งแม้แต่สีที่อ่อนลง แต่เราไม่ต้องการสีเมื่อเรามีข้อความอธิบาย

  4. แม้ว่าบางคนจะกรีดร้องด้วยความสยองขวัญที่ละเมิดความแตกต่างระหว่างรูปและตาราง แต่เราสามารถแสดงความถี่ได้เช่นกัน การมีความสามารถในการคิดว่า "4 คนในหมวดหมู่นี้" เป็นประโยชน์

  5. มีการแสดงความเคารพต่อการวางแผนการตอบสนองแบบดั้งเดิมบนแกนตั้งเช่นเดียวกับในต้นฉบับ

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

แก้ไขกราฟอาจมีความซับซ้อนตามแบบแผนชุดสีถ้าต้องการ:

ป้อนคำอธิบายรูปภาพที่นี่

สำหรับบันทึก: กราฟที่ใช้รหัส Stata รวมทั้งโปรแกรมของตัวเองที่สามารถดาวน์โหลดได้โดยใช้tabplotssc inst tabplot

tabplot improvement group [w=frequency] , showval ///
xmla(1.5 "mild" 3.5 "moderate" 5.5 "severe", noticks labgap(*4) labsize(medsmall)) ///
xla(1 "0" 2 "1" 3 "0" 4 "1" 5 "0" 6 "1") ///
xtitle(baseline and treatment) xsc(titlegap(*4)) bfcolor(emerald*0.2)

tabplot improvement group [w=frequency] , showval ///
xmla(1.5 "mild" 3.5 "moderate" 5.5 "severe", noticks labgap(*4) labsize(medsmall)) ///
xla(1 "0" 2 "1" 3 "0" 4 "1" 5 "0" 6 "1") ///
xtitle(baseline and treatment) xsc(titlegap(*2)) ///
sep(improvement2) bar3(bfcolor(emerald*0.2)) bar2(bfcolor(emerald*0.6)) ///
bar1(bfcolor(emerald)) barall(blcolor(green)) 

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

นี่คือแผนการที่หล่อมาก
shadowtalker

4

ฉันชอบที่จะใช้แกน x 2 ระดับสำหรับข้อมูลเช่นนี้ ดังนั้นหมวดหมู่แกน x ของคุณสำหรับแผนภูมิเดียวอาจเป็น:

  • การรักษา = 0, พื้นฐาน = อ่อน
  • การรักษา = 0, พื้นฐาน = ปานกลาง
  • การรักษา = 0, พื้นฐาน = รุนแรง
  • การรักษา = 1, พื้นฐาน = อ่อนตัว
  • การรักษา = 1, พื้นฐาน = ปานกลาง
  • การรักษา = 1, พื้นฐาน = รุนแรง

... ที่มีจำนวนฮิสโตแกรมแท่งเท่ากับ [ไม่มี / ปานกลาง / มาก]


+1 ฉันเห็นด้วยกับแนวคิดหลักที่นี่ตามที่นำมาใช้ในคำตอบของฉัน ฉันไม่สามารถบอกได้ว่าการออกแบบแผนภูมิแท่งของฉันใกล้เคียงกับสิ่งที่คุณจินตนาการ
Nick Cox

ขอบคุณแผนภูมิของคุณดูดี คุณลองดูด้วยการรักษา 0/1 เป็นหมวดหมู่ด้านนอกและ Baseline = Mild / Moderate / Severe เป็นหมวดหมู่ที่อยู่ใกล้กับแกน x มากขึ้นหรือไม่ ฉันคิดว่าถ้าคุณแสดงมันแบบนั้นคุณจะเห็นรูปแบบที่ชัดเจนขึ้นของ - สำหรับการรักษาภายใน = 0 แถบการปรับปรุงที่ "เป็นกอบเป็นกำ" จะเพิ่มขึ้นอย่างต่อเนื่องเมื่อพื้นฐานมาจาก Mild / Moderate / Severe และคุณจะเห็นรูปแบบเดียวกัน (ในระดับที่น้อยกว่า) ภายในการรักษา = 1 โดยทั่วไปแล้วฉันวางตัวแปรที่มีหมวดหมู่น้อยลง (เช่นการรักษาที่นี่) ด้านนอก แต่บางทีคุณอาจมองไปทางนั้น
พลังสูงสุด

ฉันไม่ได้ลองวิธีอื่น แต่ฉันคิดว่านักวิจัยส่วนใหญ่อาจต้องการเปรียบเทียบผลของการรักษาที่ให้พื้นฐานซึ่งควรง่ายกว่าวิธีที่ฉันทำ
Nick Cox

นั่นทำให้รู้สึกถึงฉัน
พลังสูงสุด

4

พล็อตโมเสกไม่ได้ออกแบบมาเป็นพิเศษสำหรับจุดประสงค์นี้

ใน R มันจะเป็นเช่นนั้น

library(vcd)
d = read.table("data.dat", header=TRUE)
tab = xtabs(frequency ~ treatment+baseline+improvement, data=d)
mosaic(data=tab,~ treatment+baseline+improvement, shade=TRUE, cex=2.5)

ตัวแปรเด็ดขาดแต่ละตัวจะไปที่หนึ่งขอบของสี่เหลี่ยมจัตุรัสซึ่งแบ่งย่อยโดยเลเบลของมัน (ดังนั้นหากคุณแบ่งแต่ละขอบที่ระดับเดียวเท่านั้นสามารถแสดงตัวแปรเด็ดขาดได้สูงสุด 4 ตัว IMHO เกิน 3 มันจะยุ่งและตีความยากกว่า) ขนาดของรูปสี่เหลี่ยมผืนผ้าเป็นสัดส่วนกับความถี่ นี่เป็นแนวคิดหลักที่อยู่เบื้องหลังการทำโมเสกพล็อตและมันก็เหมือนกันในคำตอบนี้และคำตอบของPaweł Kleka

ความแตกต่างอยู่ในเลย์เอาต์ของสี่เหลี่ยมเหล่านั้นและ "niceties" ที่จัดทำโดย R-package เฉพาะที่ใช้สำหรับพล็อตประเภทนี้ ดังที่คุณเห็นจากคำตอบของPaweł Kleka graphicsแพคเกจจะแบ่งขอบด้านบนออกเป็น 2 ระดับแทนที่จะใช้ขอบด้านขวา ฉันใช้vcdแพคเกจที่มีตัวเลือกเริ่มต้นดังนั้นสีนั้นจะระบุระดับความสัมพันธ์ระหว่างตัวแปร สีเทาหมายความว่าข้อมูลสอดคล้องกับ (คุณไม่สามารถปฏิเสธสมมติฐาน) ความเป็นอิสระของตัวแปร สีน้ำเงินหมายถึงความสัมพันธ์เชิงบวกระหว่างการปรับปรุง "พื้นฐาน" และการปรับปรุง "สำคัญ" สำหรับทั้งการรักษา "0" และ "1" (เซอร์ไพรส์ประหลาดใจ! ฉันแปลมันดังนี้: ถ้าคุณมีอาการซึมเศร้าอย่างรุนแรงคุณอาจจะดีขึ้นอย่างมากไม่ว่าคุณจะได้รับการรักษาหรือไม่ก็ตาม

หนึ่งสามารถปรับพล็อตตามความต้องการของคนดูตัวอย่างที่นี่ แพคเกจนี้ยังมี vignettes หลาย google "ตัวอย่าง vcd mosaic" (อย่างที่ฉันเพิ่งทำ) บทความ Wikipedia ที่อ้างถึงในตอนต้นยังอธิบายถึงวิธีการสร้างพล็อตประเภทนี้และสัญชาตญาณที่อยู่เบื้องหลัง

ป้อนคำอธิบายรูปภาพที่นี่

เมื่อคุณเปรียบเทียบรูปภาพของฉันกับรูปภาพในคำตอบของPaweł Kleka ไม่สำคัญว่า 'การรักษา' อยู่ที่ขอบด้านซ้ายของแต่ละภาพ คุณสามารถเปลี่ยนตำแหน่งขอบได้อย่างง่ายดายโดยการเปลี่ยนบรรทัดสุดท้ายของรหัสของฉันและปรับเค้าโครงตามความต้องการของคุณ การปฏิบัติทั่วไปคือไปทางซ้ายไปตัวแปรที่สำคัญที่สุดหรือตัวแปรที่มีจำนวนป้ายน้อยที่สุด นอกจากนี้คุณยังสามารถเปลี่ยนลำดับของฉลาก (ตัวอย่างเช่นดังนั้นที่ขอบด้านขวาคำสั่งคือ "ไม่มีเนื้อหาพอสมควร") โดยการทำให้ตัวแปรปัจจัยที่สอดคล้องกันใน R สั่งและปรับระดับ


ในขณะที่มีการเขียนสองคำตอบบนแปลงกระเบื้องโมเสค มันจะมีประโยชน์ถ้าคุณแต่ละคนจะขยายสิ่งที่พล็อตของคุณแสดงและทำไมมันถึงมีประโยชน์ไม่น้อยเพราะแปลงค่อนข้างแตกต่างกัน
Nick Cox

@NickCox อันนี้ดูแตกต่างจากคนอื่นอย่างแน่นอน พวกมันแทบจะไม่แสดงแบบเดียวกัน
shadowtalker

พวกเขาทั้งสองได้รับการรักษาบนแกน y สิ่งที่จะเป็นทองคำจากผู้แสดงความเห็นเกี่ยวกับข้อดีและข้อ จำกัด ของแต่ละจอแสดงผล
Nick Cox

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

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

3

ฉันใช้พล็อตโมเสกเป็นส่วนใหญ่

mosaicplot(table(moz), sort = c(3,1,2), color = T)

mosaicplot ()


ในขณะที่มีการเขียนสองคำตอบบนแปลงกระเบื้องโมเสค มันจะมีประโยชน์ถ้าคุณแต่ละคนจะขยายสิ่งที่พล็อตของคุณแสดงและทำไมมันถึงมีประโยชน์ไม่น้อยเพราะแปลงค่อนข้างแตกต่างกัน
Nick Cox

2

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

นี่คือตัวอย่างของข้อมูลการอยู่รอดของไททานิค:

นี่คือตัวอย่างของข้อมูลการอยู่รอดของไททานิค

ใน R (ให้แท็กของคุณ) ฉันได้ใช้ggparallelสำหรับการนำไปใช้งาน บางคนได้พูดคุยเกี่ยวกับประวัติส่วนตัวเกี่ยวกับวิธีการใช้งานในวิธีอื่น


ฉันมีปัญหาในการจินตนาการสิ่งนี้ โอกาสใด ๆ ที่คุณสามารถเยาะเย้ยตัวอย่าง?
shadowtalker

บรรทัดในพล็อตมีความกว้างตามสัดส่วนกับความถี่ของ coocurrences ของสองหมวดหมู่ สำหรับข้อมูลที่ใช้ในแปลงของคำถามเดิมจะมีแกนแนวนอนสามแกนคือ: ภาวะซึมเศร้าพื้นฐานการปรับปรุงการรักษาและภาวะซึมเศร้า ในแต่ละพื้นที่จะมีพื้นที่แยกต่างหากสำหรับแต่ละระดับของหมวดหมู่นั้น Coocurrences มีการเชื่อมโยงโดยมีความกว้างเป็นตัวแทนของความถี่
nazareno

2

ข้อมูลยังสามารถถ่ายทอดโดยใช้แผนภูมิเส้นต่อไปนี้:

ป้อนคำอธิบายรูปภาพที่นี่

การปรับปรุงจะแสดงตามประเภทบรรทัดที่แตกต่างกันในขณะที่กลุ่มพื้นฐานจะแสดงเป็นสี พารามิเตอร์เหล่านี้และแกน x (การรักษาที่นี่) สามารถเปลี่ยนได้หากต้องการ


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