"Etkililiği" karşılaştırmak ve her tedaviyi rapor eden hasta sayısını değerlendirmek istersiniz. Etkinlik beş ayrı, sıralı kategoride kaydedilir, ancak (her nasılsa) bir de "Ort." Olarak özetlenir. (ortalama) değer, bunun nicel bir değişken olarak düşünüldüğünü gösterir.
Buna göre, elemanları bu tür bilgileri iletmek için iyi uyarlanmış bir grafik seçmeliyiz. Kendilerini öneren birçok mükemmel çözüm arasında, bu şema kullanılır:
Toplam veya ortalama etkinliği doğrusal bir ölçek boyunca bir konum olarak gösterin. Bu tür konumlar görsel olarak en kolay şekilde kavranır ve nicel olarak doğru bir şekilde okunur. Ölçeği 34 tedavinin tamamında ortak yapın.
Hasta sayılarını, bu rakamlarla doğrudan orantılı olduğu görülen bazı grafik sembollerle temsil edin. Dikdörtgenler çok uygundur: önceki gereklilikleri karşılayacak şekilde konumlandırılabilir ve ortogonal yönde boyutlandırılabilir, böylece hem yükseklikleri hem de alanları hasta numarası bilgilerini iletir.
Beş etkinlik kategorisini bir renk ve / veya gölgeleme değerine göre ayırt edin. Bu kategorilerin sıralamasını koruyun.
Söz konusu grafik tarafından yapılan muazzam bir hata, en belirgin görsel değerlerin - çubukların uzunluklarının - toplam etkinlik bilgisinden ziyade hasta numarası bilgilerini tasvir etmesidir. Her çubuğu doğal bir orta değere yeniden girerek kolayca düzeltebiliriz .
Başka herhangi bir değişiklik yapmadan (herhangi bir renk körü olan kişi için son derece zayıf olan renk şemasını iyileştirmek gibi), burada yeniden tasarım.
Gözün etiketleri grafiklerle birleştirmesine yardımcı olmak için yatay noktalı çizgiler ekledim ve ortak merkezi konumu göstermek için ince bir dikey çizgi sildim.
Yanıtların örüntüleri ve sayıları çok daha belirgindir. Özellikle, bir fiyat için iki grafik elde ediyoruz: sol tarafta olumsuz etkilerin bir ölçüsünü okuyabilirken , sağ tarafta olumlu etkilerin ne kadar güçlü olduğunu görebiliriz . Bu uygulamada, bir yanda menfaat karşısında riski dengeleyebilmek önemlidir.
Bu yeniden tasarımın tesadüfi bir etkisi, birçok yanıtı olan tedavilerin adlarının diğerlerinden dikey olarak ayrılması, taranmasını ve hangi tedavilerin en popüler olduğunu görmeyi kolaylaştırmasıdır.
Bir başka ilginç yön, bu grafiğin tedavileri "Ort. Etkinliği" ile sipariş etmek için kullanılan algoritmayı sorgulamasıdır: örneğin, "Baş ağrısı izleme" neden en popüler tedaviler arasında sadece bu kadar düşük olduğunda olumsuz etkileri yok mu?
R
Bu çizimi oluşturan hızlı ve kirli kod eklenir.
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")
caffeine
veyaibuprofen
kurşun daha yüksek bir olasılık içinmoderate improvement
taban çünkü farklılık? Veya başka bir şey?