Làm thế nào bạn có thể hình dung mối quan hệ giữa 3 biến phân loại?


21

Tôi có một bộ dữ liệu với ba biến phân loại và tôi muốn hình dung mối quan hệ giữa cả ba trong một biểu đồ. Có ý kiến ​​gì không?

Hiện tại tôi đang sử dụng ba biểu đồ sau: nhập mô tả hình ảnh ở đây

Mỗi biểu đồ dành cho một mức độ trầm cảm cơ bản (Nhẹ, Trung bình, Nặng). Sau đó, trong mỗi biểu đồ, tôi xem xét mối quan hệ giữa điều trị (0,1) và cải thiện trầm cảm (không có, vừa phải, đáng kể).

3 biểu đồ này hoạt động để xem mối quan hệ 3 chiều, nhưng có cách nào để biết điều này với một biểu đồ không?


4
Đăng dữ liệu sẽ cho phép mọi người chơi.
Nick Cox

1
Bạn có 3 loại cơ bản, 2 loại điều trị và 3 kết quả trầm cảm. Đưa ra cuối cùng. tỷ lệ của từng loại trầm cảm có thể được hiển thị bằng 6 điểm trên biểu đồ tam giác (tam giác, ternary).
Nick Cox

4
Có gì sai với những đồ thị này?
Aksakal

Bạn có thể cung cấp dữ liệu theo yêu cầu @NickCox không? Tôi tập hợp nó chỉ có 18 số.
gung - Tái lập Monica

Câu trả lời:


12

Đây là một bộ dữ liệu thú vị để cố gắng biểu diễn bằng đồ họa, một phần vì nó không thực sự phân loại. Cả hai yếu tố 3 cấp đều là thứ tự và có thể có sự tương tác giữa chúng (có lẽ khó mild baselinecó thể có hơn substantial improvement- hoặc có thể có substantial improvementnghĩa là một cái gì đó khác nhau cho mỗi loại baseline).

Với nhiều biến số, thường không có một chế độ xem nào hiển thị tất cả các tính năng bạn có thể quan tâm. Một số yếu tố sẽ dễ so sánh hơn những yếu tố khác. Tôi nghĩ rằng quan điểm ban đầu của bạn là tốt và sẽ tốt hơn với các đề xuất của Nick Cox: loại bỏ các huyền thoại trùng lặp và sử dụng thang màu thứ tự.

Nếu bạn thấy thú vị nhất khi thấy sự khác biệt giữa các phương pháp điều trị, bạn có thể nhấn mạnh sự thay đổi bằng cách sử dụng sơ đồ khu vực xếp chồng thay vì các thanh xếp chồng lên nhau.

nhập mô tả hình ảnh ở đây

Tôi thường cảnh giác với việc xếp chồng nói chung vì khó đọc các giá trị trung bình, nhưng nó thực thi lại tính chất tổng cố định của dữ liệu này. Và nó giúp bạn dễ dàng đọc tổng moderate+ substantialnếu điều đó có liên quan. Tôi đã lật thứ tự các improvementcấp độ để tần số cao hơn sẽ tốt hơn cho tần số.

Không xếp chồng, tương đương là một đồ thị độ dốc.

nhập mô tả hình ảnh ở đây

Mỗi cấp độ dễ đọc hơn, nhưng khó hiểu hơn về sự tương tác. Bạn phải nhớ rằng dòng thứ ba phụ thuộc trực tiếp vào hai dòng kia.

Với tính chất thứ tự của dữ liệu, có thể hữu ích để chuyển đổi improvementgiá trị thành điểm số, như thường được thực hiện với dữ liệu Likert . Ví dụ, none=0, moderate=1, substantial=2. Sau đó, bạn có thể vẽ đồ thị biến đó trên một tỷ lệ liên tục. Nhược điểm là bạn phải tìm một điểm số hợp lý (ví dụ, có thể 0, 1 và 5 sẽ là một đại diện xác thực).

nhập mô tả hình ảnh ở đây

Colophon : Những sơ đồ này được tạo ra với tính năng Graph Builder trong gói phần mềm JMP (mà tôi giúp phát triển). Mặc dù được tạo ra một cách tương tác, ví dụ, một kịch bản cho cốt truyện khu vực, không có các tùy chỉnh tô màu, là:

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

2
+1. Một số ý tưởng tuyệt vời ở đây. Mặc dù tôi rất lo lắng về việc xếp chồng, tôi nghĩ rằng biểu đồ đầu tiên hoạt động tốt nhất. Nó mang lại sự tương tác thú vị: điều trị 1 luôn tạo ra nhiều trường hợp cải thiện đáng kể và không có gì khác!
Nick Cox

Bài đăng tuyệt vời. Có cách nào người ta có thể xây dựng biểu đồ đầu tiên bạn hiển thị trong R không? Tôi đã không sử dụng JMP trong một thời gian.
Alejandro Ochoa

1
@AlejandroOchoa ggplot có một khu vực địa lý. Xem phần Tạo một khu vực được xếp chồng lên nhau bằng ggplot2 .
xan

10

Đầu tiên, đây là cách đọc của tôi từ biểu đồ được cung cấp dữ liệu cho những người muốn chơi (thử nghiệm, nếu bạn muốn). Lỗi off-by-one NB chắc chắn có thể xảy ra, cũng như lỗi thô.

    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  

Dưới đây là một bản làm lại của thiết kế ban đầu. Một chi tiết của dữ liệu gốc làm cho mọi thứ trở nên đơn giản: số người trong mỗi kết hợp dự đoán là như nhau, do đó, tần số âm mưu và phần trăm âm mưu là như nhau. Ở đây thay vì biểu đồ thanh xếp chồng (chia nhỏ, phân đoạn), chúng tôi tách các thanh trong biểu đồ thanh hai chiều hoặc thiết kế biểu đồ bảng.

Phần lớn các chi tiết trong đồ họa chỉ là, chi tiết. Một số điểm yếu nhỏ trong biểu đồ có thể làm giảm hiệu quả của nó và một số cải tiến nhỏ cũng có thể giúp ích.

nhập mô tả hình ảnh ở đây

Để đánh vần nó ra:

  1. Ba bảng không cần thiết ở đây, với sự lặp lại của các trục, truyền thuyết và văn bản.

  2. Một truyền thuyết luôn luôn nguyền rủa cũng như ban phước, bắt buộc người đọc phải "qua lại" về mặt tinh thần (hoặc ghi nhớ truyền thuyết, không phải là điều gì đó hấp dẫn, tuy nhiên có thể dễ dàng). Văn bản thông tin ngay bởi các thanh là dễ theo dõi hơn.

  3. Các mã màu salad trái cây là có thể phân phối. Có vẻ như tùy tiện quá: cải thiện "đáng kể" là một vấn đề lớn, nhưng tôi thấy màu vàng thậm chí còn mạnh mẽ. Nhưng chúng ta không cần màu khi chúng ta có văn bản để giải thích.

  4. Mặc dù một số người sẽ hét lên kinh hoàng khi vi phạm sự khác biệt giữa Hình và Bảng, chúng ta cũng có thể hiển thị tần số. Thật hữu ích khi có thể nghĩ "4 người trong danh mục này".

  5. Ở đây có sự tôn kính đối với âm mưu phản ứng truyền thống trên trục tung, giống như trong bản gốc.

Tất cả những gì đã nói, thật khó để thấy nhiều cấu trúc trong các dữ liệu này. Khi đó, thật khó để chia sẻ sự đổ lỗi giữa (a) dữ liệu mà không có nhiều cấu trúc và (b) các điểm yếu của thiết kế đồ họa để chọn ra không chỉ các hiệu ứng dự đoán mà còn có thể tương tác. Điều trị dường như ít quan trọng hơn điều kiện cơ bản. Nhưng sau đó, nếu đường cơ sở là "nhẹ", thì có bao nhiêu phạm vi để cải thiện "đáng kể"? Tôi sẽ dừng lại ở đó để ngừng tự lừa dối bản thân mình khi nghiên cứu về dữ liệu sức khỏe tâm thần chắc chắn không phải là một chuyên môn, đặc biệt là nếu dữ liệu hóa ra là giả mạo. Nhưng nếu chúng là thật, chúng ta có thể làm với cỡ mẫu lớn hơn nhiều. (Chúng tôi thường nói vậy, nhưng có bạn đi.)

EDIT Đồ thị có thể tự nhiên phức tạp bởi một bảng màu thứ tự nếu muốn:

nhập mô tả hình ảnh ở đây

Đối với bản ghi: các biểu đồ đã sử dụng mã Stata, bao gồm cả chương trình của riêng tôi có thể tabplottải xuống bằng cách sử dụng ssc 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)) 

Có cách nào bạn có thể tải lên biểu đồ của mình với bảng màu phản ánh bản chất thứ tự của dữ liệu không? Ngoài ra phần mềm nào bạn đã sử dụng để tạo hình ảnh?
Alejandro Ochoa

Đây là những mảnh đất rất đẹp trai
Shadowtalker

4

Tôi thích sử dụng trục x 2 cấp cho dữ liệu như thế này. Vì vậy, các loại trục x của bạn cho một biểu đồ có thể là:

  • Điều trị = 0, Đường cơ sở = Nhẹ
  • Điều trị = 0, Đường cơ sở = Trung bình
  • Điều trị = 0, Đường cơ sở = Nặng
  • Điều trị = 1, Đường cơ sở = Nhẹ
  • Điều trị = 1, Đường cơ sở = Trung bình
  • Điều trị = 1, Đường cơ sở = Nặng

... với cùng số lượng theo các loại biểu đồ [không / trung bình / đáng kể] thanh biểu đồ.


+1. Tôi đồng ý với ý chính ở đây, như được thực hiện trong câu trả lời của tôi. Tôi không thể biết mức độ thiết kế biểu đồ thanh của tôi gần với những gì bạn đang tưởng tượng.
Nick Cox

Cảm ơn, biểu đồ của bạn trông tuyệt vời. Bạn đã thử xem nó với Điều trị 0/1 là danh mục bên ngoài và Đường cơ sở = Nhẹ / Trung bình / Nghiêm trọng khi danh mục gần với trục x hơn? Tôi nghĩ rằng nếu bạn trình bày theo cách đó, bạn sẽ thấy một mô hình rõ ràng hơn về - trong vòng điều trị = 0, các thanh cải thiện "đáng kể" tăng dần khi đường cơ sở tăng từ Nhẹ / Trung bình / Nghiêm trọng. Và bạn sẽ thấy mô hình tương tự (ở mức độ thấp hơn) trong điều trị = 1. Nói chung, tôi đặt biến với ít danh mục hơn (ví dụ như điều trị ở đây) ở bên ngoài. Nhưng có lẽ bạn đã nhìn nó theo cách đó rồi.
Công suất tối đa

Tôi đã không thử cách khác, nhưng tôi đã nghĩ rằng nhà nghiên cứu có thể muốn so sánh hiệu quả của các phương pháp điều trị được đưa ra cơ bản, điều này sẽ dễ dàng hơn cách tôi đã làm.
Nick Cox

Điều đó có ý nghĩa với tôi.
Công suất tối đa

4

Không phải cốt truyện khảm được thiết kế đặc biệt cho mục đích này sao?

Trong R nó sẽ giống như

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)

Mỗi biến phân loại đi đến một cạnh của hình vuông, được chia nhỏ bởi các nhãn của nó. (Do đó, nếu bạn chia nhỏ mỗi cạnh chỉ ở một cấp độ, tối đa 4 biến phân loại có thể được biểu diễn. IMHO, ngoài 3 biến nó trở nên lộn xộn và khó diễn giải hơn). Kích thước của hình chữ nhật tỷ lệ thuận với tần số. Đây là ý tưởng chính đằng sau cốt truyện khảm và nó cũng giống như vậy trong câu trả lời này và câu trả lời của Paweł Kleka.

Sự khác biệt nằm ở bố cục của những hình chữ nhật và "niceties" được cung cấp bởi một gói R cụ thể được sử dụng cho loại cốt truyện này. Như bạn thấy từ câu trả lời của Paweł Kleka, graphicsgói chia nhỏ cạnh trên ở 2 cấp độ thay vì sử dụng cạnh phải. Tôi đã sử dụng vcdgói với các tùy chọn mặc định, để màu sắc biểu thị mức độ liên kết giữa các biến. Màu xám có nghĩa là dữ liệu phù hợp với (bạn không thể bác bỏ giả thuyết về) tính độc lập của biến. Màu xanh có nghĩa là sự liên kết tích cực tồn tại giữa đường cơ sở "nghiêm trọng" và cải thiện "đáng kể" cho cả điều trị "0" và "1". (Ngạc nhiên, ngạc nhiên! Tôi dịch nó như sau: nếu bạn bị trầm cảm nặng, bạn có thể sẽ đỡ hơn đáng kể cho dù bạn có điều trị hay không.

Người ta có thể điều chỉnh cốt truyện theo nhu cầu của một người, xem, ví dụ, ở đây . Gói này cũng có một vài họa tiết, "ví dụ khảm vcd" (như tôi vừa làm). Bài viết Wikipedia được trích dẫn ngay từ đầu cũng giải thích cách xây dựng loại cốt truyện và trực giác đằng sau nó.

nhập mô tả hình ảnh ở đây

Khi bạn so sánh hình ảnh của tôi với hình ảnh trong câu trả lời của Paweł Kleka, không thành vấn đề, đó là 'cách xử lý' nằm ở cạnh trái của mỗi bức tranh. Bạn có thể dễ dàng thay đổi vị trí cạnh bằng cách thay đổi dòng cuối cùng của mã của tôi và điều chỉnh bố cục theo nhu cầu của bạn. Thực tế phổ biến là ở bên trái đi vào biến quan trọng nhất hoặc biến có số lượng nhãn ít nhất. Bạn cũng có thể thay đổi thứ tự của nhãn (ví dụ: vì vậy, ở cạnh phải, thứ tự là "không đáng kể vừa phải") bằng cách tạo biến nhân tố tương ứng trong R theo thứ tự và điều chỉnh mức của nó.


Có thời điểm viết hai câu trả lời trên mảnh đất khảm. Sẽ rất hữu ích nếu mỗi bạn sẽ mở rộng về những gì cốt truyện của bạn thể hiện và tại sao nó hữu ích, nhất là vì các cốt truyện khá khác nhau.
Nick Cox

@NickCox cái này chắc chắn trông khác với những cái khác. Chúng hầu như không hiển thị giống nhau
Shadowtalker

Cả hai đều điều trị trên trục y. Những gì sẽ là vàng từ những người đề xuất của họ là bình luận về những lợi thế và hạn chế của mỗi màn hình.
Nick Cox

Cảm ơn đã mở rộng câu trả lời của bạn. Tôi nghĩ rằng sự quan tâm ở đây có khả năng trong việc so sánh các phản ứng được đưa ra điều trị và đường cơ sở. Tôi tự nhiên đồng ý rằng bạn có thể tinker với biến nào đi đâu, nhưng bạn đã thử các khả năng khác, và cái nào hoạt động tốt nhất? Nhìn vào phản hồi ở đây, người đọc phải so sánh hai hàng khối đồng thời.
Nick Cox

@Nick Cox Cảm ơn ý kiến ​​của bạn. Đó là điều duy nhất thúc đẩy tôi mở rộng. Tôi đã không thử các khả năng khác. Trên thực tế, tôi nghĩ rằng, nếu tác giả của câu hỏi thấy loại cốt truyện này hữu ích, anh ta nên thử mọi thứ, sau đó đăng và giải thích kết quả cho cộng đồng. Nhân tiện, tôi không nói rằng loại cốt truyện này tốt hơn những cái khác. Vấn đề là: nó được thiết kế đặc biệt cho các biến phân loại và để hình dung sự độc lập và / hoặc vi phạm độc lập.
lanenok

3

Tôi sugest sử dụng cốt truyện khảm

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

khảm ()


Có thời điểm viết hai câu trả lời trên mảnh đất khảm. Sẽ rất hữu ích nếu mỗi bạn sẽ mở rộng về những gì cốt truyện của bạn thể hiện và tại sao nó hữu ích, nhất là vì các cốt truyện khá khác nhau.
Nick Cox

2

Một tùy chọn tôi muốn xem xét là sử dụng các bộ song song. Một số so sánh sẽ dễ dàng hơn so với những cái khác, nhưng bạn vẫn có thể thấy mối quan hệ giữa ba biến phân loại.

Đây là một ví dụ với dữ liệu Titanic Survival:

Dưới đây là một ví dụ với dữ liệu sinh tồn Titanic.

Trong R (đưa ra các thẻ của bạn) Tôi đã sử dụng ggabul để thực hiện nó. Một số người đã thảo luận ở đây về CV làm thế nào để thực hiện nó theo những cách khác.


Tôi đang gặp khó khăn khi tưởng tượng điều này. Bất kỳ cơ hội nào bạn có thể giả lập một ví dụ?
Shadowtalker

Một dòng trong cốt truyện có chiều rộng của nó tỷ lệ thuận với tần số kết hợp của hai loại. Đối với dữ liệu được sử dụng trong các ô của câu hỏi ban đầu, sẽ có ba trục ngang: trầm cảm cơ sở, điều trị và cải thiện trầm cảm. Trong mỗi khu vực có các khu vực riêng biệt cho từng cấp độ của thể loại đó. Coocurrences được liên kết, với chiều rộng đại diện cho tần số của chúng.
nazareno

2

Thông tin cũng có thể được chuyển tải bằng biểu đồ đường đơn giản sau:

nhập mô tả hình ảnh ở đây

Sự cải thiện được thể hiện bởi các loại đường khác nhau trong khi nhóm đường cơ sở được hiển thị bằng màu sắc. Những cái này và tham số trục x (điều trị ở đây) cũng có thể được hoán đổi nếu muốn.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.