2015-04-20 9 views
6

Her kategorideki altı düzeyi olan dört kategori için olasılık oranı, üst ve alt güven sınırları olan küçük bir özet veri tabloya sahibim. Bir lm belirttiğinizde oluşturulmuş olağan görünüme benzeyen ggplot2 kullanarak bir grafik oluşturmak istiyorum ve bu se, ama R'yi yalnızca benim tablosumdaki önceden belirlenmiş değerleri kullanmasını istiyorum. Çizgi grafiklerini hata çubuklarıyla oluşturmayı başardım, ancak bunlar çakışıyor ve belirsiz hale geliyor.Belirtilen değerlerle satır grafiğine gölgeli güven aralıklarının eklenmesi

interval OR Drug lower upper 
14 0.004 a 0.002 0.205 
30 0.022 a 0.001 0.101 
60 0.13 a 0.061 0.23 
90 0.22 a 0.14 0.34 
180 0.25 a 0.17 0.35 
365 0.31 a 0.23 0.41 
14 0.84 b 0.59 1.19 
30 0.85 b 0.66 1.084 
60 0.94 b 0.75 1.17 
90 0.83 b 0.68 1.01 
180 1.28 b 1.09 1.51 
365 1.58 b 1.38 1.82 
14 1.9 c 0.9 4.27 
30 2.91 c 1.47 6.29 
60 2.57 c 1.52 4.55 
90 2.05 c 1.31 3.27 
180 2.422 c 1.596 3.769 
365 2.83 c 1.93 4.26 
14 0.29 d 0.04 1.18 
30 0.09 d 0.01 0.29 
60 0.39 d 0.17 0.82 
90 0.39 d 0.2 0.7 
180 0.37 d 0.22 0.59 
365 0.34 d 0.21 0.53 

Bunu denedim: verileri bu gibi görünebilir

limits <- aes(ymax=upper, ymin=lower) 
dodge <- position_dodge(width=0.9) 
ggplot(data, aes(y=OR, x=days, colour=Drug)) + 
    geom_line(stat="identity") + 
    geom_errorbar(limits, position=dodge) 

ve güzel bir arsa oluşturmak için uygun bir cevap aradı, ama ben flummoxed değilim!

Herhangi bir yardım büyük beğeni topladı!

+0

Maalesef veriler tüm karmakarışık çıktı - onun 5 sütun olması gerekiyordu; aralık, OR, İlaç, bir alt indirdi. – user4575913

+0

SO'ya hoş geldiniz! Öncelikle, verileri yapmak için düzenlediklerimi ve kodu doğru görüyorsunuz. İkincisi, verilerinizde 'gün 'olmadığı için x = interval' yerine x = interval 'anlamına gelir. Üçüncüsü, istenen arsaya bir örnek vermek güzel olurdu (sadece ona bir link ekleyiniz ve yeterince rep sahip biri gömün). – tonytonov

+0

'geom_ribbon'a bakın – James

cevap

7

Aşağıdaki satırları gerekir:

p<-ggplot(data=data, aes(x=interval, y=OR, colour=Drug)) + geom_point() + geom_line() 
p<-p+geom_ribbon(aes(ymin=data$lower, ymax=data$upper), linetype=2, alpha=0.1) 

enter image description here

+0

Oh, bu mükemmel ve çok basit! Teşekkür ederim! – user4575913

+0

Sorun değil, size yardımcı olmaktan mutluluk duyuyoruz! –

İlgili konular