2014-06-18 19 views
6

Ben ~ 90 çalışmasından meta analiz verileri veriyorum. Bu, verilerin yayınlanmak üzere erişilebilir bir biçimde nasıl görüntüleneceği konusunda bazı zorluklar sunar. Sadece farklı meta-analizlerin genel etki büyüklüğü tahminlerini göstermek ve araştırmaya özgü tahminleri hariç tutmak istiyorum. Bunu Stata'da metan paketini kullanarak ve summaryonly komutunu ekleyerek yapabilirim. metafor paketini (veya başka bir meta analiz R paketini) kullanarak orman arsa çıkışlarındaki çalışma seviyesi etki büyüklüklerini bastırmak mümkün mü?Meta-analiz: Metafor paketi kullanılarak özet tahminlerin orman çizimi

Ben doğru anlamak
res.a <- rma(n1i = Intervention_n, n2i = Control_n, m1i = intervention_d, m2i = control_d, sd1i = intervention_d_sd, 
     sd2i = control_d_sd, measure="MD", intercept=TRUE, data = Dataset.a, vtype="LS", method="DL", level=95, 
     digits=4, subset = (exclude==0 & child=="No"), slab=paste(Dataset.a$Label, Dataset.a$Year, sep=", ")) 
addpoly(res.a, row=7.5, cex=.75, font=3, mlab="Random effects model for subgroup") 
+0

Bunu yapmayı çok isterim, ancak meta paketinden metaprop komutu için. Şu anki yaklaşımdaki sorun, orman arsası üzerindeki diğer özet bilgilerin tümünü, örneğin, katkıda bulunan çalışmaların sayısını, olay sayısını, genel olarak n, vb. Kaybedeceğim olmasıdır. Bunun için de bir düzeltme yapılması harika olurdu. – Alexander

cevap

8

, sen yapıyorlar birkaç analizler: örneğin, paket belgelerinde açıklandığı gibi ben alt numuneler için etki büyüklüğü tahminlerini eklemek için addpoly komutu kullanıyorum

Bu ~ 90 çalışmaları (örneğin, farklı altkümelere dayalı olarak) ve amacınız, bir orman arsasında yalnızca özet tahminlerini (bu analizlere dayanarak) göstermektir. Daha sonra en basit yaklaşım, bir vektördeki çeşitli analizlerin tahminlerini ve karşılık gelen varyanslarını toplamak ve daha sonra bunu forest() fonksiyonuna iletmektir. Kullanabileceğin,

### load metafor package 
library(metafor) 

### load BCG vaccine dataset 
data(dat.bcg) 

### calculate log relative risks and corresponding sampling variances 
dat <- escalc(measure="RR", ai=tpos, bi=tneg, ci=cpos, di=cneg, data=dat.bcg) 

### fit random-effects models to some subsets 
res.r <- rma(yi, vi, data=dat, subset=alloc=="random") 
res.s <- rma(yi, vi, data=dat, subset=alloc=="systematic") 
res.a <- rma(yi, vi, data=dat, subset=alloc=="alternate") 

### collect model estimates and corresponding variances 
estimates <- c(coef(res.r), coef(res.s), coef(res.a)) 
variances <- c(vcov(res.r), vcov(res.s), vcov(res.a)) 

### create vector with labels 
labels <- c("Random Allocation", "Systematic Allocation", "Alternate Allocation") 

### forest plot 
forest(estimates, variances, slab=labels) 

Eğer nokta boyutları farklılık gösterdiğini beğenmezseniz

(varsayılan olarak, onlar varyansları ile ters orantılı çizilir): Bana basit bir örnek vereyim

forest(estimates, variances, slab=labels, psize=1) 

birkaç diğer iyileştirmeler:

forest(estimates, variances, slab=labels, psize=1, atransf=exp, xlab="Relative Risk (log scale)", at=log(c(.2, .5, 1, 2))) 

EK

Tahminler için çokgen şekilleri tercih etmeniz durumunda, aşağıdakileri yapabilirsiniz. Önce grafiği yukarıdaki gibi çizin, ancak CI'lerde dikey çizgileri gizlemek için efac=0 kullanın. Sonra sadece addpoly() ile özet çokgenler üzerinde çizmek: Ayrıca dikey çokgenler germek için addpoly() içinde efac=1.5 kullanabilirsiniz

forest(estimates, variances, slab=labels, psize=1, atransf=exp, xlab="Relative Risk (log scale)", at=log(c(.2, .5, 1, 2)), efac=0) 
addpoly(estimates, variances, atransf=exp, rows=3:1, col="white", annotate=FALSE) 

. Faktörü zevkinize göre ayarlayın.

+0

Mükemmel - Buna Aşırı Akım Taşımı ile ilgili sorudan ulaşabilirsiniz (üzgünüz, bunu yararlı olarak işaretlemek için yeterli bir itibarım yok) – ChrisP