2014-04-23 27 views
6

Nhìn vào funnel plot examples, trên trang metafor - có vẻ như có cách thêm nhãn vào âm mưu kênh. funnel plot page cung cấp thêm chi tiết, nhưng nó không liệt kê một ví dụ để thêm nhãn.Tạo nhãn cho các điểm âm mưu kênh trong metafor

Ví dụ cung cấp:

library(metafor) 
png(filename="contour_enhanced_funnel_plot.png", 
    res=92, width=680, height=600, type="cairo") 
par(mar=c(5,4,1,2)) 
data(dat.bcg) 
res <- rma(ai=tpos, bi=tneg, ci=cpos, di=cneg, data=dat.bcg, measure="RR", 
      slab=paste(author, year, sep=", "), method="REML") 
funnel(res, level=c(90, 95, 99), shade=c("white", "gray", "darkgray"), refline=0) 
dev.off() 

Bao gồm một lĩnh vực nhãn, nhưng không ai được tạo ra trong ví dụ. Tôi làm cách nào để thêm nhãn vào cốt truyện kênh?

Nhìn here, có vẻ như việc sử dụng pch có thể là giải pháp thay thế. Nội dung nào đó dọc theo dòng:

pch=paste(StudyName, StudyMeasure, sep=", ") 

nhưng chỉ tạo ra một dấu chấm chữ cái. .

Trả lời

4

Khi duyệt các nguồn của rma()funnel.rma() (từ phiên bản 1.9-2 của metafor), tôi không thể tìm thấy bất kỳ điều khoản cụ thể nào trong đó để đưa nhãn vào các ô kênh. Tuy nhiên, để vẽ các nhãn của riêng bạn, các vị trí dường như nguyên bản có thể tái sản xuất từ ​​rma -object, do đó người ta có thể xây dựng trên những con số này mà không phải tính toán lại mọi thứ. Cách tiếp cận này sẽ đương nhiên ít nhất bản lề trên giá trị được chọn của yaxis -parameter, nhưng theo mặc định sqrt(vi) ~ yi dường như làm việc:

# ... 
funnel(res, level=c(90, 95, 99), shade=c("white", "gray", "darkgray"), refline=0) 
text(res$yi,sqrt(res$vi)+.016,res$slab,cex=.8) 

Đôi khi sự xuất hiện đồ họa có thể thì tất nhiên hút như nhãn chồng chéo trở nên không đọc được.

Hoặc bạn có thể cố gắng gán ý nghĩa pch -values ​​mình (mà bình thường nên số nguyên), và cố gắng giải thích những việc này với một huyền thoại:

alloc.factor <- factor(dat.bcg$alloc) 
stopifnot(res$k==length(alloc.factor)) 
funnel(res, level=c(90, 95, 99), shade=c("white", "gray", "darkgray"), refline=0, 
    pch=as.numeric(alloc.factor),lwd=2,cex=1.6) 
legend("topright",levels(alloc.factor),pch=1:3,pt.lwd=2,cex=1.6) 
Các vấn đề liên quan