Cara memvisualisasikan persentase dibandingkan dengan jumlah entri.


10

Saya mencoba mencari cara terbaik untuk memvisualisasikan bagan di bawah ini dan menekankan kemanjuran pengobatan sebagaimana diterapkan pada sejumlah pasien yang mencoba pengobatan. Berikut tautan ke halaman yang sebenarnya: http://curetogether.com/cluster-headaches/treatments/

Legenda Pengobatan Cluster Headache Perawatan Sakit Kepala Cluster

Apa cara terbaik untuk menekankan efektivitas sambil tetap membuatnya mudah untuk membandingkan perawatan dan melihat berapa banyak pasien yang menilai masing-masing? Pikiranku adalah untuk menunjukkan efektivitas sebagai persentase, tetapi saya tidak yakin bagaimana membuatnya dengan mudah dapat dibandingkan dan menunjukkan jumlah pasien yang mencoba masing-masing.

Terima kasih!


(Tolong jangan gunakan diagram lingkaran.) Dengan "menekankan efektivitas sementara masih membuatnya mudah untuk membandingkan perawatan", apakah Anda merujuk pada fakta bahwa, misalnya, sulit untuk melihat apakah caffeineatau ibuprofenmengarah pada kemungkinan yang lebih tinggi moderate improvementkarena garis dasar berbeda? Atau sesuatu yang lain?
gung - Reinstate Monica

Jawaban:


12

Anda ingin membandingkan "efektivitas" dan mengevaluasi jumlah pasien yang melaporkan setiap perawatan. Keefektifan direkam dalam lima kategori diskrit, tertata, tetapi (entah bagaimana) juga diringkas menjadi "Rta." (rata-rata) nilai, menunjukkan itu dianggap sebagai variabel kuantitatif.

Oleh karena itu, kita harus memilih grafik yang unsur-unsurnya disesuaikan dengan baik untuk menyampaikan informasi semacam ini. Di antara banyak solusi bagus yang disarankan sendiri, ada yang menggunakan skema ini:

  • Tunjukkan efektivitas total atau rata-rata sebagai posisi sepanjang skala linier. Posisi seperti itu paling mudah dipahami secara visual dan akurat dibaca secara kuantitatif. Jadikan skala umum untuk semua 34 perawatan.

  • Mewakili jumlah pasien dengan beberapa simbol grafis yang mudah dilihat berbanding lurus dengan angka-angka itu. Persegi panjang sangat cocok: mereka dapat diposisikan untuk memenuhi persyaratan sebelumnya dan ukuran dalam arah ortogonal sehingga ketinggian dan daerah mereka menyampaikan informasi jumlah pasien.

  • Bedakan lima kategori efektivitas dengan warna dan / atau nilai naungan. Pertahankan pemesanan kategori-kategori ini.

Salah satu kesalahan besar yang dibuat oleh grafik dalam pertanyaan adalah bahwa nilai-nilai visual yang paling menonjol - panjang bar - menggambarkan informasi jumlah pasien daripada informasi efektivitas total. Kita dapat memperbaikinya dengan mudah dengan memasukkan kembali setiap bilah tentang nilai tengah alami.

Tanpa membuat perubahan lain (seperti memperbaiki skema warna, yang sangat buruk untuk orang buta warna), inilah desain ulang.

Angka

Saya menambahkan garis putus-putus horisontal untuk membantu mata menghubungkan label dengan plot, dan menghapus garis vertikal tipis untuk menunjukkan lokasi pusat umum.

Pola dan jumlah respons jauh lebih jelas. Secara khusus, kami pada dasarnya mendapatkan dua grafik untuk harga satu: di sisi kiri kita dapat membaca dari ukuran efek samping sementara di sisi kanan kita dapat melihat seberapa kuat efek positifnya . Mampu menyeimbangkan risiko, di satu sisi, melawan manfaat, di sisi lain, penting dalam aplikasi ini.

Salah satu efek kebetulan dari desain ulang ini adalah bahwa nama-nama perawatan dengan banyak respons secara vertikal terpisah dari yang lain, sehingga mudah untuk memindai dan melihat perawatan mana yang paling populer.

Aspek lain yang menarik adalah bahwa grafik ini mempertanyakan algoritma yang digunakan untuk memesan perawatan dengan "Efektivitas rata-rata": mengapa, misalnya, "Pelacakan sakit kepala" ditempatkan sangat rendah ketika, di antara semua perawatan yang paling populer, itu adalah satu-satunya tidak memiliki efek buruk?

Kode cepat dan kotor Ryang menghasilkan plot ini ditambahkan.

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")

Wow, terima kasih atas jawaban yang sangat jelas dan menyeluruh. Ini solusi hebat untuk memvisualisasikan semua informasi. Contoh grafik yang Anda hasilkan benar-benar membantu memahami jawaban secara sekilas yang juga sangat membantu. Terima kasih!
David Hobs

2
(+1) Visualisasi yang bagus. Sebagai catatan, paket likert dan HH R memiliki fungsi untuk diagram batang bertumpuk yang menargetkan skala Likert, khususnya. Dalam paket yang terakhir, bahkan ada kemungkinan untuk membiarkan ketinggian setiap batang bervariasi sesuai dengan ukuran sampel (lihat hal. 12 dalam makalah JSS ini ).
chl

3

Anda tentu bisa mengubah setiap baris menjadi persentase dan memplot semua bilah dengan panjang yang sama, dengan fraksi bilah yang berwarna hijau lalu memberikan indikator efektifitas visual yang baik. Anda bisa menyimpan angka dalam tanda kurung di samping untuk menunjukkan ukuran sampel berdasarkan apa hasilnya.

Jika Anda ingin mempertahankan indikator visual jumlah sampel serta efektivitasnya, Anda dapat mempertimbangkan bagan apa adanya, tetapi pusatkan bilah berdasarkan pada bagian tengah bagian abu-abu. Kemudian, ukuran keseluruhan batang akan secara visual menunjukkan ukuran sampel dan proporsi batang yang ada di kanan (atau kiri) garis tengah akan memberikan indikasi efektivitas (atau sebaliknya). Dalam kombinasi, Anda mendapatkan indikasi visual dari perawatan yang populer dan dinilai efektif dari bar yang mencapai terjauh ke kanan. Anda dapat mengurutkan salah satu dari tiga cara yang tersedia di halaman yang Anda tautkan.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.