メタアナリシスの講義を受けたのでrmetaを使ってメタアナリシスがどんなんかをひたすらプロットしていく。
install.packages("rmeta") library(rmeta) data(catheter)
このデータは銀加工かなんかをされたカテーテルの細菌感染具合を調べたものらしい。
加工カテーテルと標準カテーテルを比較して、コロニー形成と、血流内まで細菌が到達してしまったものを検討したいらしい。
Name: 論文の著者
n.trt: 加工カテーテルの数
n.ctrl: 標準カテーテルの数
col.trt: 加工カテーテルのうち、細菌コロニーができてしまった数
col.ctrl: 標準カテーテルのうち、細菌コロニーができてしまった数
inf.trt: 加工カテーテルのうち、血液感染してしまった数。
inf.ctrl: 標準カテーテルのうち、血液感染してしまった数。
catheter Name n.trt n.ctrl col.trt col.ctrl inf.trt inf.ctrl 1 Ciresi 124 127 15 21 13 14 2 George 44 35 10 25 1 3 3 Hannan 68 60 22 22 5 7 4 Heard 151 157 60 82 5 6 5 vanHeerden 28 26 4 10 NA NA 6 Maki 208 195 28 47 2 9 7 Bach(a) 14 12 0 4 NA NA 8 Ramsay 199 189 45 63 1 4 9 Appavu 12 7 1 1 NA NA 10 Trazzera 123 99 16 24 4 5 11 Collins 98 139 2 25 1 4 12 Bach(b) 116 117 2 16 0 3 13 Tennenberg 137 145 8 32 5 9 14 Pemberton 32 40 NA NA 2 3 15 Logghe 338 342 NA NA 17 15
a <- meta.MH(n.trt, n.ctrl, col.trt, col.ctrl, data=catheter, names=Name, subset=c(13,6,5,3,7,12,4,11,1,8,10,2)) b <- meta.DSL(n.trt, n.ctrl, col.trt, col.ctrl, data=catheter, names=Name,subset=c(13,6,5,3,7,12,4,11,1,8,10,2)) par(mfrow=c(1, 2)) plot(a, main="meta.MH") plot(b, main="meta.DSL")
data(cochrane) steroid <- meta.MH(n.trt, n.ctrl, ev.trt, ev.ctrl, names=name, data=cochrane) plot(steroid, col=meta.colors("RoyalBlue"))
このデータは未熟児出産時のステロイド投与が、新生児死亡低下に効果があるかを調べたものらしい。
name: Identifier for the study
ev.trt: Number of deaths in the treated group
n.trt: Number in the treated group
ev.ctrl: Number of deaths in the control group
n.ctrl: Number in the control group
cochrane name ev.trt n.trt ev.ctrl n.ctrl 1 Auckland 36 532 60 538 2 Block 1 69 5 61 3 Doran 4 81 11 63 4 Gamsu 14 131 20 137 5 Morrison 3 67 7 59 6 Papageorgiou 1 71 7 75 7 Tauesch 8 56 10 71
data(cochrane) steroid<-cummeta(n.trt,n.ctrl,ev.trt,ev.ctrl,names=name,data=cochrane,statistic="RR",method="meta.MH") plot(steroid) summary(steroid)
data(catheter) b <- meta.DSL(n.trt, n.ctrl, col.trt, col.ctrl, data=catheter, names=Name, subset=c(13,6,5,3,12,4,11,1,8,10,2)) d <- cummeta.summaries(b$logs, b$selogs, names=b$names, method="random", logscale=TRUE) plot(d,summary.conf=TRUE) summary(d)
data(cochrane) steroid <- meta.MH(n.trt, n.ctrl, ev.trt, ev.ctrl, names=name, data=cochrane) tabletext<-cbind(c("","Study",steroid$names,NA,"Summary"), c("Deaths","(steroid)",cochrane$ev.trt,NA,NA), c("Deaths","(placebo)", cochrane$ev.ctrl, NA,NA), c("","OR",format(exp(steroid$logOR),digits=2),NA,format(exp(steroid$logMH),digits=2)) ) m<- c(NA,NA,steroid$logOR,NA,steroid$logMH) l<- m-c(NA,NA,steroid$selogOR,NA,steroid$selogMH)*2 u<- m+c(NA,NA,steroid$selogOR,NA,steroid$selogMH)*2 forestplot(tabletext,m,l,u,zero=0,is.summary=c(TRUE,TRUE,rep(FALSE,8),TRUE), clip=c(log(0.1),log(2.5)), xlog=TRUE, col=meta.colors(box="royalblue",line="darkblue", summary="royalblue")) forestplot(tabletext,m,l,u,zero=0,is.summary=c(TRUE,TRUE,rep(FALSE,8),TRUE), clip=c(log(0.1),log(2.5)), xlog=TRUE, boxsize=0.75, col=meta.colors(box="royalblue",line="darkblue", summary="royalblue"))
data(catheter) a <- meta.MH(n.trt, n.ctrl, col.trt, col.ctrl, data=catheter, names=Name, subset=c(13,6,5,3,7,12,4,11,1,8,10,2)) par(mfrow=c(1, 3)) funnelplot(a$logOR, a$selogOR) funnelplot(a$logOR, a$selogOR, plot.conf=TRUE, summ=a$logMH, mirror=TRUE) funnelplot(a, plot.conf=TRUE)
data(cochrane) steroid <- meta.MH(n.trt, n.ctrl, ev.trt, ev.ctrl, names=name, data=cochrane) par(mfrow=c(2, 2)) ## All black, for better photocopying plot(steroid, col=meta.colors("black")) ## distinguish the summary plot(steroid,colors=meta.colors(summary="forestgreen")) data(catheter) e <- meta.DSL(n.trt, n.ctrl, inf.trt, inf.ctrl, data=catheter, names=Name, subset=c(13,6,3,12,4,11,1,14,8,10,2)) ## Truly awful colour scheme to illustrate flexibility plot(e, colors=meta.colors(summary="green",lines=c("purple","skyblue"), box="red",zero="yellow",text=palette(),background="tomato", axes="lightgreen")) ## Dark blue background popular for presentations. plot(e, colors=meta.colors(summary="white",lines="#FFFFF0", box="#FFFF50",zero="grey90",text="white",background="darkblue", axes="grey90"))
data(catheter) b <- meta.DSL(n.trt, n.ctrl, col.trt, col.ctrl, data=catheter, names=Name, subset=c(13,6,5,3,7,12,4,11,1,8,10,2)) b summary(b)
data(catheter) a <- meta.MH(n.trt, n.ctrl, col.trt, col.ctrl, data=catheter, names=Name, subset=c(13,6,5,3,7,12,4,11,1,8,10,2)) a summary(a) par(mfrow=c(1, 2)) plot(a) d <- meta.MH(n.trt, n.ctrl, inf.trt, inf.ctrl, data=catheter, names=Name, subset=c(13,6,3,12,4,11,1,14,8,10,2)) d summary(d) ## plot with par("fg") plot(d, colors=meta.colors(NULL))
data(catheter) a <- meta.MH(n.trt, n.ctrl, col.trt, col.ctrl, data=catheter, names=Name, subset=c(13,6,5,3,7,12,4,11,1,8,10,2)) par(mfrow=c(1, 2)) metaplot(a$logOR, a$selogOR, nn=a$selogOR^-2, a$names, summn=a$logMH, sumse=a$selogMH, sumnn=a$selogMH^-2, logeffect=TRUE) metaplot(a$logOR, a$selogOR, nn=a$selogOR^-2, a$names, summn=a$logMH, sumse=a$selogMH, sumnn=a$selogMH^-2, logeffect=TRUE,logticks=FALSE)