3 kategorik değişken arasındaki ilişkiyi nasıl görselleştirebilirsiniz?


21

Üç kategorik değişkenli bir veri setine sahibim ve bu üçünün arasındaki ilişkiyi bir grafikte görselleştirmek istiyorum. Herhangi bir fikir?

Şu anda aşağıdaki üç grafiği kullanıyorum: görüntü tanımını buraya girin

Her grafik, bir bazal depresyon seviyesi içindir (Hafif, Orta, Şiddetli). Sonra her grafikte tedavi (0,1) ile Depresyon gelişimi (hiçbiri, orta, önemli) arasındaki ilişkiye bakarım.

Bu 3 grafik, 3 yönlü ilişkiyi görmeye çalışır, ancak bunu bir grafikle yapmanın bilinen bir yolu var mı?


4
Verileri yayınlamak insanların oynamasını sağlar.
Nick Cox,

1
3 temel kategori, 2 tedavi kategorisi ve 3 depresyon sonucunuz var. Son verilen. Her bir depresyon tipinin oranları, üçgen (üç çizgili, üçlü) bir arsa üzerinde 6 puanla gösterilebilir.
Nick Cox,

4
Bu grafiklerde yanlış olan ne?
Aksakal

@NickCox istekleri gibi verileri sağlayabilir misiniz? Topladığım sadece 18 sayı.
gung - Reinstate Monica

Yanıtlar:


12

Bu, kısmen kategorik olmadığı için, grafik olarak göstermeye çalışacak ilginç bir veri seti. Hem 3 düzeyindeki faktörler sıralı ve aralarında olası etkileşimi yoktur (muhtemelen, bir zor gelir mild baselineolması substantial improvement- ya da belki substantial improvementher biri için farklı bir şey demektir baseline).

Birden fazla değişkenle, umursayabileceğiniz tüm özellikleri gösteren genellikle tek bir görünüm yoktur. Bazı faktörlerin karşılaştırılması diğerlerinden daha kolay olacaktır. Orijinal görüşünüzün iyi olduğunu ve Nick Cox'un önerileriyle daha iyi olacağını düşünüyorum: çift efsaneleri kaldırmak ve sıralı bir renk ölçeği kullanmak.

Tedaviler arasındaki farkı görmekten en çok ilginizi çekiyorsa, değişikliği yığılmış çubuklar yerine yığılmış alan grafiği kullanarak vurgulayabilirsiniz.

görüntü tanımını buraya girin

Genelde istifleme konusunda temkinli oluyorum çünkü ortadaki değerleri okumak daha zor, ancak bu verilerin sabit toplamlı niteliğini yeniden zorluyor. Ve eğer ilgiliyse toplamı moderate+ okumayı kolaylaştırır substantial. improvementSeviyelerin sırasını düşürdüm, böylece frekans için daha yüksek olur.

İstifleme olmadan, eşdeğer bir eğim grafiğidir.

görüntü tanımını buraya girin

Her seviyeyi okumak daha kolaydır, ancak etkileşimi anlamak daha zordur. Üçüncü çizginin doğrudan diğer ikisine bağlı olduğunu aklınızda bulundurmalısınız.

Verilerin sıralı niteliği göz önüne alındığında improvement, genellikle Likert verilerinde olduğu gibi, değeri sayısal bir puana dönüştürmek faydalı olabilir . Örneğin, none=0, moderate=1, substantial=2. Ardından bu değişkeni sürekli bir ölçekte grafiklendirebilirsiniz. Dezavantajı, makul bir puanlama yapmanız gerektiğidir (örneğin, belki 0, 1 ve 5 daha doğru bir temsil olur).

görüntü tanımını buraya girin

Colophon : Bu grafikler JMP yazılım paketindeki Graph Builder özelliği ile hazırlandı . Etkileşimli olarak yapılmasına rağmen, örneğin alan grafiği için, renklendirme özelleştirmeleri olmadan bir komut dosyası:

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

2
+1. Burada bazı mükemmel fikirler. İstifleme konusunda endişeliysem de, ilk grafiğin en iyi sonucu verdiğini düşünüyorum. İlginç etkileşimi ortaya çıkarır: 1. tedavi her zaman daha fazla önemli gelişme örneği ve hiçbirinden daha fazlasını üretmez!
Nick Cox,

Harika yazı. Yine de, R'de gösterdiğiniz ilk grafiği oluşturabilecek biri var mı? JMP'yi bir süredir kullanmadım.
Alejandro Ochoa

1
@AlejandroOchoa ggplot bir bölge coğrafyasına sahiptir. Bkz . Ggplot2'yi kullanarak yığılmış alan grafiği oluşturma .
xan

10

Öncelikle, burada oynamak isteyenler için verilerden sağlanan grafikten okumam (isterseniz, deneyiniz). NB off-by-one hataları, brüt hatalar olduğu gibi kesinlikle mümkündür.

    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  

Özgün tasarımın yeniden işlenmesi. Orijinal verinin bir detayı işleri basitleştirir: Tahminde bulunan kombinasyonların her birindeki insanların sayısı aynıdır, bu nedenle frekans çizme ve komplolama yüzdeleri aynıdır. Burada yığılmış (alt bölümlere ayrılmış, bölünmüş) bir çubuk grafik yerine, iki yönlü bir çubuk grafikte veya tablo arsa tasarımında çubuklar ayırırız.

Grafiklerdeki detayların çoğu sadece, detaydır. Bir grafikteki bazı küçük zayıflıklar etkinliğini zayıflatabilir ve bazı küçük iyileştirmeler de yardımcı olabilir.

görüntü tanımını buraya girin

Hecelemek için:

  1. Burada eksen, gösterge ve yazı tekrarı ile birlikte üç panele ihtiyaç duyulmaz.

  2. Bir efsane her zaman küfür etmenin yanı sıra, okuyucuyu zihinsel olarak "ileri geri" gitmeye zorlamak (ya da efsaneyi ezberlemek için itiraz eden, ancak kolay olabilir) bir zorunluluktur. Doğrudan çubukların yanındaki bilgilendirici metni takip etmek kolaydır.

  3. Meyve salatası renk kodlaması zorunludur. O da keyfi görünüyor: "önemli" gelişme büyük bir mesele, ama güçlü sarıyı bile bastırılmış bir renk olarak görüyorum. Ama açıklayacağımız bir metin varken renge ihtiyacımız yok.

  4. Bazıları, Şekil ve Tablo arasındaki ayrımı ihlal etme korkusuyla büzüşecek olsa da, frekansları da gösterebiliriz. "Bu kategoride 4 kişi" olduğunu düşünmek yararlı olacaktır.

  5. Burada, orijinalinde olduğu gibi, dikey eksen üzerindeki geleneksel cevap komplolarına saygı duyulmaktadır.

Bütün bunlar, bu verilerde çok fazla yapı görmek zor. Öyleyse, suçu (a) fazla yapıya sahip olmayan veriler ile (b) yalnızca tahmin edici etkileri değil, aynı zamanda olası etkileşimleri seçmek için grafik tasarımın zayıf yönlerini de paylaşmak zordur. Tedavi, başlangıç ​​durumundan daha az önemli görünüyor. Ancak, eğer temel “hafif” ise, “önemli” iyileştirme için ne kadar kapsam vardı? Akıl sağlığı verisi üzerine yapılan çalışmaların kesinlikle bir uzmanlık olmadığı, özellikle de verilerin sahte olduğu ortaya çıktığında, kendimi aptallaştırmayı bırakmayı bırakacağım. Fakat eğer gerçeklerse, çok daha büyük bir örneklem büyüklüğü ile yapabiliriz. (Genelde bunu söylüyoruz, ama işte gidiyorsunuz.)

EDIT İstenirse grafik doğal olarak sıralı bir renk şemasıyla karmaşık olabilir:

görüntü tanımını buraya girin

Kayıt için: grafikler Stata kodunu kullandı, tabplotkarşıdan yüklenebilen kendi programım dahil 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)) 

Grafiğinizi, verilerin sıralı yapısını yansıtan bir renk şemasıyla yükleyebileceğiniz bir yol var mı? Ayrıca görsel oluşturmak için hangi yazılımı kullandınız?
Alejandro Ochoa

Bunlar çok yakışıklı arsalar
shadowtalker

4

Bunun gibi veriler için 2 seviyeli bir x ekseni kullanmaya bayılıyorum. Dolayısıyla, tek bir grafik için x ekseni kategorileriniz şunlar olabilir:

  • Tedavi = 0, Temel = Hafif
  • Tedavi = 0, Temel = Orta
  • Tedavi = 0, Temel = Ağır
  • Tedavi = 1, Temel = Hafif
  • Tedavi = 1, Temel = Orta
  • Tedavi = 1, Temel = Ağır

... kategorilere göre aynı sayıları içeren [hiç / orta / önemli] histogram çubukları.


+1. Buradaki ana fikre katılıyorum, cevabımda da belirtildiği gibi. Çubuk grafik tasarımımın hayal ettiğinize ne kadar yakın olduğunu söyleyemem.
Nick Cox,

Teşekkürler, grafiğiniz harika görünüyor. Dış kategori olarak Muamele 0/1 ve X-eksenine daha yakın kategori olarak Taban Çizgisi = Hafif / Orta / Şiddetli olarak bakmayı denediniz mi? Bence bu şekilde sunmuş olsaydınız, daha net bir örüntü görürsünüz - tedavi = 0 için, "önemli" iyileştirme çubukları, taban çizgisi Mild / Orta / Şiddetli seviyesinden yükseldikçe düzenli bir şekilde yükselir. Ve aynı kalıbı tedavi altında (daha az ölçüde) göreceksin = 1. Genel olarak, değişkene daha az kategori olan (örneğin burada tedavi) dışarısı koydum. Ama belki de zaten o şekilde baktın.
Maksimum Güç

Diğer yolu denemedim, ancak araştırmacının, başlangıçta verilen tedavilerin etkilerini karşılaştırmak isteyebileceğini, bu şekilde yaptığımdan daha kolay olması gerektiğini düşündüm.
Nick Cox

Bu bana mantıklı geliyor.
Max Power

4

Değil mi Mozaik arsa bu amaç için özel olarak tasarlanmış?

R gibi olurdu

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)

Her kategorik değişken, karelerinin bir kenarına gider ve etiketleriyle alt bölümlere ayrılır. (Böylece, her bir kenarı yalnızca bir seviyede bölerseniz, en fazla 4 kategorik değişken gösterilebilir. IMHO, 3'ün ötesinde dağınık ve yorumlaması zorlaşır). Dikdörtgenlerin boyutu frekans ile orantılıdır. Mozaik arsa arkasındaki ana fikir budur ve bu cevapta ve Paweł Kleka'nın cevabında aynıdır.

Farklılıklar, bu tip arsa için kullanılan belirli bir R-paketi tarafından sağlanan dikdörtgenlerin ve "nişlerin" düzenlerindedir. Paweł Kleka'nın cevabından gördüğünüz gibi, graphicspaket sağ kenarı kullanmak yerine üst kenarı 2 seviyeye ayırır. Kullandığım vcdrenk değişkenler arasındaki bağlantının derecesini gösterir böylece, varsayılan seçenekleri ile paketi. Gri, verilerin değişkenlik bağımsızlığı ile tutarlı olduğu ((varsayımını reddedemezsiniz) anlamına gelir. Mavi, hem "0" hem de "1" tedavisi için "şiddetli" taban çizgisi ile "önemli" gelişme arasında pozitif bir ilişki olduğu anlamına gelir. (Sürpriz, sürpriz! Bunu şöyle çeviririm: Şiddetli bir depresyonunuz varsa, muhtemelen bir tedaviniz olsun veya olmasın daha iyi olacaksınız.

Kişi, arsa ihtiyacına göre ayarlayabilir, bakınız örneğin, burada . Pakette ayrıca birkaç tane vinyet var, google "vcd mosaic example" (yaptığım gibi). En başında alıntı yapılan Wikipedia makalesi, bu tip arsanın ve sezginin nasıl inşa edileceğini de açıklar.

görüntü tanımını buraya girin

Resmimi Paweł Kleka'nın cevabındaki resimle karşılaştırdığınızda , 'tedavinin' her resmin solunda olması önemli değil . Kodumun son satırını değiştirerek kenar konumunu kolayca değiştirebilir ve düzeninizi ihtiyaçlarınıza göre ayarlayabilirsiniz. Yaygın uygulama, sola doğru en önemli değişkene veya en az etiket sayısına sahip değişkene gitmesidir. Ayrıca, R karşılık gelen faktör değişken yaparak (örneğin, bu yüzden, bu düzen sağ kenarında "yok önemli orta") etiket sırasını değiştirebilir sipariş ve seviyelerinin ayarlanması.


Mozaik araziler üzerinde iki cevap yazılmıştır. Arsaların oldukça farklı olması nedeniyle her birinizin arsanızın ne gösterdiğini ve neden yararlı olduğunu genişletmeniz yararlı olacaktır.
Nick Cox,

@NickCox bu kesinlikle diğerlerinden farklı görünüyor. Neredeyse aynı ekranlar
shadowtalker

Her ikisi de y ekseni üzerinde tedavi var. Taraftarlarından altın ne olacağı, her bir gösterinin avantajları ve sınırlamaları hakkında yorumdur.
Nick Cox

Cevabınızı genişlettiğiniz için teşekkür ederiz. Buradaki ilginin, tedavi ve temel alınan verilen cevapların karşılaştırılmasında muhtemel olduğunu düşünüyorum. Doğal olarak, hangi değişkenin nereye gittiğini kontrol edebileceğinizi, ancak diğer olasılıkları denediniz ve hangisinin en iyi şekilde çalıştığını kabul edebileceğinizi kabul ediyorum. Buradaki cevaba bakıldığında, okuyucunun iki sıra bloğu aynı anda karşılaştırması gerekir.
Nick Cox,

@Nick Cox Yorumlarınız için teşekkür ederiz. Genişlemem için beni motive eden tek şey buydu. Ben yaptım değil diğer olasılıkları deneyin. Söz yazarı yararlı arsa bu tür bulursa Aslında, sanırım, o yayınlamak sonra, her şeyi denemek ve toplum için sonuçlarını açıklamalıdır. Bu arada, bu tür arsaların diğerlerinden daha iyi olduğunu söylemiyorum. Mesele şudur: kategorik değişkenler için ve bağımsızlığın ve / veya bağımsızlığın ihlalinin görselleştirilmesi için özel olarak tasarlanmıştır.
lanenok

3

Mozaik arsa kullanın

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

mosaicplot ()


Mozaik araziler üzerinde iki cevap yazılmıştır. Arsaların oldukça farklı olması nedeniyle her birinizin arsanızın ne gösterdiğini ve neden yararlı olduğunu genişletmeniz yararlı olacaktır.
Nick Cox,

2

Düşünebileceğim bir seçenek paralel kümeler kullanmak. Karşılaştırmaların bazıları diğerlerinden daha kolay olacak, ancak yine de üç kategorik değişken arasındaki ilişkileri görebilirsiniz.

Titanic Survival verilerinin bir örneği:

Titanic sağkalım verileri ile ilgili bir örnek.

R'de (etiketlerini verdim) uygulamak için ggparallel kullandım . Bazı millet burada CV'yi başka şekillerde nasıl uygulayacaklarını tartıştılar .


Bunu hayal etmekte zorlanıyorum. Örnek alama ihtimalin var mı?
shadowtalker

Arsadaki bir çizgi, iki kategorinin eş renk sıklığı ile orantılı genişliğe sahiptir. Orijinal sorunun parsellerinde kullanılan veriler için, üç yatay eksen olacaktır: temel depresyon, tedavi ve depresyon gelişimi. Her birinde, bu kategorinin her seviyesi için ayrı alanlar vardır. Coocurrences, frekanslarını temsil eden bir genişliğe bağlıdır.
nazareno

2

Bilgi aşağıdaki basit çizgi grafik kullanılarak da taşınabilir:

görüntü tanımını buraya girin

Gelişme, farklı çizgi türleriyle gösterilirken, temel grup renklerle gösterilir. Bunlar ve x ekseni parametresi (burada tedavi) istenirse değiştirilebilir.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.