2016-07-07 339 views
0

我想在R中創建一個圖,其中四個不同變量的比值比和它們的95%置信區間。我希望它看起來類似於下面的示例圖片: enter image description here繪製比值比和95%置信區間

上圖僅包含(b)圖片,因爲(a)圖片幾乎相似,我只想展示佈局。

我一直在網上搜索,但沒有發現任何看起來類似的東西。希望你能給我一些建議!

乾杯!

回答

0

更多或更少的,與天然R:

### artificial data #### 
set.seed(321) 
bs<-sort(runif(20,-2,2)) 
sd<-runif(20,1,2) 
li1<-bs-2*sd 
li2<-bs+2*sd 
dat<-data.frame(li1,bs,li2) 
pos<-c(1:5,7:11,13:17,19:23) 
xl=range(dat) 
plot(1,type="n",xlim=xl,ylim=c(1,25),ylab="",frame.plot = F,yaxt = "n",xlab="lr") 
for (i in 1:length(dat[,1])){ 
    lines(dat[i,],rep(pos[i],3),lty=pos[i]%%6,pch="|",type = "b",cex = .5) 
} 
abline(v=0,lty=3) 
points(dat[,2],pos,pch="*",cex=.8) 
text(-2,pos[c(5,10,15,20)]+.95,paste("Text",1:4),cex=.8) 

enter image description here

+0

由於@Robert。這正是我的意思! 兩個問題:我使用3種不同的模型(而不是在示例圖片和繪圖中使用的5個模型)。當我使用上面的代碼時,線型的順序不正確。我不完全確定,如何解決這個問題。我應該看看'lty'嗎? 我也得到了一個錯誤消息的積分代碼:即錯誤xy.coords(x,y):'x'和'y'長度不同。我認爲這與'points(dataf [,2],'中的2'有關係,我使用'pos < - c(1:3,4:7)'來用我自己的數據測試模型 你有這方面的建議嗎? – Keizer