R : Copyright 2005, The R Foundation for Statistical Computing Version 2.1.1 (2005-06-20), ISBN 3-900051-07-0 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for a HTML browser interface to help. Type 'q()' to quit R. > ### *
> ### > attach(NULL, name = "CheckExEnv") > assign(".CheckExEnv", as.environment(2), pos = length(search())) # base > ## add some hooks to label plot pages for base and grid graphics > setHook("plot.new", ".newplot.hook") > setHook("persp", ".newplot.hook") > setHook("grid.newpage", ".gridplot.hook") > > assign("cleanEx", + function(env = .GlobalEnv) { + rm(list = ls(envir = env, all.names = TRUE), envir = env) + RNGkind("default", "default") + set.seed(1) + options(warn = 1) + delayedAssign("T", stop("T used instead of TRUE"), + assign.env = .CheckExEnv) + delayedAssign("F", stop("F used instead of FALSE"), + assign.env = .CheckExEnv) + sch <- search() + newitems <- sch[! sch %in% .oldSearch] + for(item in rev(newitems)) + eval(substitute(detach(item), list(item=item))) + missitems <- .oldSearch[! .oldSearch %in% sch] + if(length(missitems)) + warning("items ", paste(missitems, collapse=", "), + " have been removed from the search path") + }, + env = .CheckExEnv) > assign("..nameEx", "__{must remake R-ex/*.R}__", env = .CheckExEnv) # for now > assign("ptime", proc.time(), env = .CheckExEnv) > grDevices::postscript("rmeta-Examples.ps") > assign("par.postscript", graphics::par(no.readonly = TRUE), env = .CheckExEnv) > options(contrasts = c(unordered = "contr.treatment", ordered = "contr.poly")) > options(warn = 1) > library('rmeta') > > assign(".oldSearch", search(), env = .CheckExEnv) > assign(".oldNS", loadedNamespaces(), env = .CheckExEnv) > cleanEx(); ..nameEx <- "catheter" > > ### * catheter > > flush(stderr()); flush(stdout()) > > ### Name: catheter > ### Title: Meta-analysis of antibacterial catheter coating > ### Aliases: catheter > ### Keywords: datasets > > ### ** Examples > > library(rmeta) > 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)) > 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)) Warning in meta.DSL(n.trt, n.ctrl, col.trt, col.ctrl, data = catheter, names = Name, : Studies with 0/Inf statistic omitted > a Fixed effects ( Mantel-Haenszel ) Meta-Analysis Call: meta.MH(ntrt = n.trt, nctrl = n.ctrl, ptrt = col.trt, pctrl = col.ctrl, names = Name, data = catheter, subset = c(13, 6, 5, 3, 7, 12, 4, 11, 1, 8, 10, 2)) Mantel-Haenszel OR =0.44 95% CI ( 0.36, 0.54 ) Test for heterogeneity: X^2( 10 ) = 25.36 ( p-value 0.0047 ) > b Random effects ( DerSimonian-Laird ) meta-analysis Call: meta.DSL(ntrt = n.trt, nctrl = n.ctrl, ptrt = col.trt, pctrl = col.ctrl, names = Name, data = catheter, subset = c(13, 6, 5, 3, 7, 12, 4, 11, 1, 8, 10, 2)) Summary OR= 0.4 95% CI ( 0.28, 0.57 ) Estimated random effects variance: 0.19 > summary(a) Fixed effects ( Mantel-Haenszel ) meta-analysis Call: meta.MH(ntrt = n.trt, nctrl = n.ctrl, ptrt = col.trt, pctrl = col.ctrl, names = Name, data = catheter, subset = c(13, 6, 5, 3, 7, 12, 4, 11, 1, 8, 10, 2)) ------------------------------------ OR (lower 95% upper) Tennenberg 0.22 0.10 0.49 Maki 0.49 0.29 0.82 vanHeerden 0.27 0.07 1.00 Hannan 0.83 0.40 1.72 Bach(a) NaN 0.00 NaN Bach(b) 0.11 0.02 0.49 Heard 0.60 0.38 0.95 Collins 0.10 0.02 0.41 Ciresi 0.69 0.34 1.42 Ramsay 0.58 0.37 0.92 Trazzera 0.47 0.23 0.94 George 0.12 0.04 0.33 ------------------------------------ Mantel-Haenszel OR =0.44 95% CI ( 0.36,0.54 ) Test for heterogeneity: X^2( 10 ) = 25.36 ( p-value 0.0047 ) > summary(b) Random effects ( DerSimonian-Laird ) meta-analysis Call: meta.DSL(ntrt = n.trt, nctrl = n.ctrl, ptrt = col.trt, pctrl = col.ctrl, names = Name, data = catheter, subset = c(13, 6, 5, 3, 7, 12, 4, 11, 1, 8, 10, 2)) ------------------------------------ OR (lower 95% upper) Tennenberg 0.22 0.10 0.49 Maki 0.49 0.29 0.82 vanHeerden 0.27 0.07 1.00 Hannan 0.83 0.40 1.72 Bach(a) NaN 0.00 NaN Bach(b) 0.11 0.02 0.49 Heard 0.60 0.38 0.95 Collins 0.10 0.02 0.41 Ciresi 0.69 0.34 1.42 Ramsay 0.58 0.37 0.92 Trazzera 0.47 0.23 0.94 George 0.12 0.04 0.33 ------------------------------------ SummaryOR= 0.4 95% CI ( 0.28,0.57 ) Test for heterogeneity: X^2( 10 ) = 24.9 ( p-value 0.0055 ) Estimated random effects variance: 0.19 ( 1 studies with zero or infinite odds ratio omitted ) > plot(a) > plot(b) > > > > cleanEx(); ..nameEx <- "cochrane" > > ### * cochrane > > flush(stderr()); flush(stdout()) > > ### Name: cochrane > ### Title: Data for Cochrane Collaboration logo > ### Aliases: cochrane > ### Keywords: datasets > > ### ** Examples > > data(cochrane) > steroid <- meta.MH(n.trt, n.ctrl, ev.trt, ev.ctrl, + names=name, data=cochrane) > plot(steroid, col=meta.colors("RoyalBlue")) > > > > cleanEx(); ..nameEx <- "funnelplot" > > ### * funnelplot > > flush(stderr()); flush(stdout()) > > ### Name: funnelplot > ### Title: Funnel plot for publication bias > ### Aliases: funnelplot funnelplot.meta.MH funnelplot.meta.DSL > ### funnelplot.meta.summaries funnelplot.default > ### Keywords: hplot > > ### ** Examples > > 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)) > funnelplot(a$logOR, a$selogOR) > funnelplot(a$logOR, a$selogOR, + plot.conf=TRUE, summ=a$logMH, mirror=TRUE) > funnelplot(a, plot.conf=TRUE) > > > > cleanEx(); ..nameEx <- "meta.DSL" > > ### * meta.DSL > > flush(stderr()); flush(stdout()) > > ### Name: meta.DSL > ### Title: Random effects (DerSimonian-Laird) meta-analysis > ### Aliases: meta.DSL summary.meta.DSL print.meta.DSL > ### print.summary.meta.DSL plot.meta.DSL > ### Keywords: htest hplot > > ### ** Examples > > 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)) Warning in meta.DSL(n.trt, n.ctrl, col.trt, col.ctrl, data = catheter, names = Name, : Studies with 0/Inf statistic omitted > b Random effects ( DerSimonian-Laird ) meta-analysis Call: meta.DSL(ntrt = n.trt, nctrl = n.ctrl, ptrt = col.trt, pctrl = col.ctrl, names = Name, data = catheter, subset = c(13, 6, 5, 3, 7, 12, 4, 11, 1, 8, 10, 2)) Summary OR= 0.4 95% CI ( 0.28, 0.57 ) Estimated random effects variance: 0.19 > summary(b) Random effects ( DerSimonian-Laird ) meta-analysis Call: meta.DSL(ntrt = n.trt, nctrl = n.ctrl, ptrt = col.trt, pctrl = col.ctrl, names = Name, data = catheter, subset = c(13, 6, 5, 3, 7, 12, 4, 11, 1, 8, 10, 2)) ------------------------------------ OR (lower 95% upper) Tennenberg 0.22 0.10 0.49 Maki 0.49 0.29 0.82 vanHeerden 0.27 0.07 1.00 Hannan 0.83 0.40 1.72 Bach(a) NaN 0.00 NaN Bach(b) 0.11 0.02 0.49 Heard 0.60 0.38 0.95 Collins 0.10 0.02 0.41 Ciresi 0.69 0.34 1.42 Ramsay 0.58 0.37 0.92 Trazzera 0.47 0.23 0.94 George 0.12 0.04 0.33 ------------------------------------ SummaryOR= 0.4 95% CI ( 0.28,0.57 ) Test for heterogeneity: X^2( 10 ) = 24.9 ( p-value 0.0055 ) Estimated random effects variance: 0.19 ( 1 studies with zero or infinite odds ratio omitted ) > plot(b) > 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)) Warning in meta.DSL(n.trt, n.ctrl, inf.trt, inf.ctrl, data = catheter, names = Name, : Studies with 0/Inf statistic omitted > e Random effects ( DerSimonian-Laird ) meta-analysis Call: meta.DSL(ntrt = n.trt, nctrl = n.ctrl, ptrt = inf.trt, pctrl = inf.ctrl, names = Name, data = catheter, subset = c(13, 6, 3, 12, 4, 11, 1, 14, 8, 10, 2)) Summary OR= 0.61 95% CI ( 0.4, 0.93 ) Estimated random effects variance: 0 > summary(e) Random effects ( DerSimonian-Laird ) meta-analysis Call: meta.DSL(ntrt = n.trt, nctrl = n.ctrl, ptrt = inf.trt, pctrl = inf.ctrl, names = Name, data = catheter, subset = c(13, 6, 3, 12, 4, 11, 1, 14, 8, 10, 2)) ------------------------------------ OR (lower 95% upper) Tennenberg 0.57 0.19 1.75 Maki 0.20 0.04 0.94 Hannan 0.60 0.18 2.00 Bach(b) NaN 0.00 NaN Heard 0.86 0.26 2.89 Collins 0.35 0.04 3.16 Ciresi 0.95 0.43 2.10 Pemberton 0.82 0.13 5.24 Ramsay 0.23 0.03 2.11 Trazzera 0.63 0.17 2.42 George 0.25 0.02 2.50 ------------------------------------ SummaryOR= 0.61 95% CI ( 0.4,0.93 ) Test for heterogeneity: X^2( 9 ) = 5.14 ( p-value 0.8222 ) Estimated random effects variance: 0 ( 1 studies with zero or infinite odds ratio omitted ) > ##tasteless > plot(e, colors=meta.colors(summary="green",lines="purple",box="orange")) > > > > cleanEx(); ..nameEx <- "meta.MH" > > ### * meta.MH > > flush(stderr()); flush(stdout()) > > ### Name: meta.MH > ### Title: Fixed effects (Mantel-Haenszel) meta-analysis > ### Aliases: meta.MH summary.meta.MH print.meta.MH print.summary.meta.MH > ### plot.meta.MH > ### Keywords: htest hplot > > ### ** Examples > > 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 Fixed effects ( Mantel-Haenszel ) Meta-Analysis Call: meta.MH(ntrt = n.trt, nctrl = n.ctrl, ptrt = col.trt, pctrl = col.ctrl, names = Name, data = catheter, subset = c(13, 6, 5, 3, 7, 12, 4, 11, 1, 8, 10, 2)) Mantel-Haenszel OR =0.44 95% CI ( 0.36, 0.54 ) Test for heterogeneity: X^2( 10 ) = 25.36 ( p-value 0.0047 ) > summary(a) Fixed effects ( Mantel-Haenszel ) meta-analysis Call: meta.MH(ntrt = n.trt, nctrl = n.ctrl, ptrt = col.trt, pctrl = col.ctrl, names = Name, data = catheter, subset = c(13, 6, 5, 3, 7, 12, 4, 11, 1, 8, 10, 2)) ------------------------------------ OR (lower 95% upper) Tennenberg 0.22 0.10 0.49 Maki 0.49 0.29 0.82 vanHeerden 0.27 0.07 1.00 Hannan 0.83 0.40 1.72 Bach(a) NaN 0.00 NaN Bach(b) 0.11 0.02 0.49 Heard 0.60 0.38 0.95 Collins 0.10 0.02 0.41 Ciresi 0.69 0.34 1.42 Ramsay 0.58 0.37 0.92 Trazzera 0.47 0.23 0.94 George 0.12 0.04 0.33 ------------------------------------ Mantel-Haenszel OR =0.44 95% CI ( 0.36,0.54 ) Test for heterogeneity: X^2( 10 ) = 25.36 ( p-value 0.0047 ) > 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 Fixed effects ( Mantel-Haenszel ) Meta-Analysis Call: meta.MH(ntrt = n.trt, nctrl = n.ctrl, ptrt = inf.trt, pctrl = inf.ctrl, names = Name, data = catheter, subset = c(13, 6, 3, 12, 4, 11, 1, 14, 8, 10, 2)) Mantel-Haenszel OR =0.56 95% CI ( 0.37, 0.84 ) Test for heterogeneity: X^2( 9 ) = 5.32 ( p-value 0.8056 ) > summary(d) Fixed effects ( Mantel-Haenszel ) meta-analysis Call: meta.MH(ntrt = n.trt, nctrl = n.ctrl, ptrt = inf.trt, pctrl = inf.ctrl, names = Name, data = catheter, subset = c(13, 6, 3, 12, 4, 11, 1, 14, 8, 10, 2)) ------------------------------------ OR (lower 95% upper) Tennenberg 0.57 0.19 1.75 Maki 0.20 0.04 0.94 Hannan 0.60 0.18 2.00 Bach(b) NaN 0.00 NaN Heard 0.86 0.26 2.89 Collins 0.35 0.04 3.16 Ciresi 0.95 0.43 2.10 Pemberton 0.82 0.13 5.24 Ramsay 0.23 0.03 2.11 Trazzera 0.63 0.17 2.42 George 0.25 0.02 2.50 ------------------------------------ Mantel-Haenszel OR =0.56 95% CI ( 0.37,0.84 ) Test for heterogeneity: X^2( 9 ) = 5.32 ( p-value 0.8056 ) > ## plot with par("fg") > plot(d, colors=meta.colors(NULL)) > > > > cleanEx(); ..nameEx <- "meta.colors" > > ### * meta.colors > > flush(stderr()); flush(stdout()) > > ### Name: meta.colors > ### Title: Control colours in meta-analysis plot > ### Aliases: meta.colors > ### Keywords: hplot > > ### ** Examples > > data(cochrane) > steroid <- meta.MH(n.trt, n.ctrl, ev.trt, ev.ctrl, + names=name, data=cochrane) > > ## 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)) Warning in meta.DSL(n.trt, n.ctrl, inf.trt, inf.ctrl, data = catheter, names = Name, : Studies with 0/Inf statistic omitted > > ## 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")) > > > cleanEx(); ..nameEx <- "meta.cum" > > ### * meta.cum > > flush(stderr()); flush(stdout()) > > ### Name: cummeta > ### Title: Cumulative meta-analysis of binary data > ### Aliases: cummeta cummeta.summaries print.meta.cum plot.meta.cum > ### print.summary.meta.cum summary.meta.cum > ### Keywords: htest hplot > > ### ** Examples > > data(cochrane) > steroid<-cummeta(n.trt,n.ctrl,ev.trt,ev.ctrl,names=name,data=cochrane,statistic="RR",method="meta.MH") Warning in pchisq(q, df, lower.tail, log.p) : NaNs produced > plot(steroid) > summary(steroid) Cumulative meta-analysis Call: cummeta(ntrt = n.trt, nctrl = n.ctrl, ptrt = ev.trt, pctrl = ev.ctrl, names = name, data = cochrane, method = "meta.MH", statistic = "RR") ------------------------------------ RR (lower 95% upper) Auckland 0.61 0.41 0.89 Block 0.57 0.39 0.83 Doran 0.53 0.37 0.75 Gamsu 0.57 0.42 0.77 Morrison 0.55 0.41 0.75 Papageorgiou 0.53 0.39 0.71 Tauesch 0.56 0.43 0.75 ------------------------------------ > 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) Warning in pchisq(q, df, lower.tail, log.p) : NaNs produced > plot(d,summary.conf=TRUE) > summary(d) Cumulative meta-analysis Call: cummeta.summaries(effects = b$logs, stderrs = b$selogs, names = b$names, method = "random", logscale = TRUE) ------------------------------------ Effect (lower 95% upper) Tennenberg 0.22 0.10 0.49 Maki 0.35 0.16 0.76 vanHeerden 0.35 0.20 0.61 Hannan 0.43 0.24 0.75 Bach(b) 0.36 0.20 0.66 Heard 0.42 0.27 0.67 Collins 0.36 0.22 0.60 Ciresi 0.41 0.26 0.63 Ramsay 0.44 0.31 0.64 Trazzera 0.45 0.33 0.62 George 0.40 0.28 0.57 ------------------------------------ > > > > cleanEx(); ..nameEx <- "meta.score" > > ### * meta.score > > flush(stderr()); flush(stdout()) > > ### Name: meta.score > ### Title: Fixed effects (likelihood score) meta-analysis > ### Aliases: meta.score print.meta.score summary.meta.score > ### print.summary.meta.score > ### Keywords: htest hplot > > ### ** Examples > > ## From Gart and Nam > mice<-data.frame(n1=c(16, 16, 18, 15), + n0 = c(79, 87, 90, 82), + x1 = c(4, 2, 4, 1), + x0 = c(5, 3, 10, 3) + ) > > summary(meta.score(ntrt=n1,nctrl=n0,ptrt=x1,pctrl=x0,data=mice)) Fixed effects (likelihood score) meta-analysis Call: meta.score(ntrt = n1, nctrl = n0, ptrt = x1, pctrl = x0, data = mice) ------------------------------------ RR (lower 95% upper) [1,] 3.95 1.22 11.97 [2,] 3.62 0.75 16.49 [3,] 2.00 0.70 5.16 [4,] 1.82 0.27 11.48 ------------------------------------ RR = 2.65 95% CI ( 1.35, 5.03 ) > > > > > cleanEx(); ..nameEx <- "meta.summaries" > > ### * meta.summaries > > flush(stderr()); flush(stdout()) > > ### Name: meta.summaries > ### Title: Meta-analysis based on effect estimates > ### Aliases: meta.summaries print.meta.summaries plot.meta.summaries > ### summary.meta.summaries print.summary.meta.summaries > ### Keywords: htest hplot > > ### ** Examples > > 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 <- meta.summaries(b$logs, b$selogs, names=b$names, + method="random", logscale=TRUE) > > > > cleanEx(); ..nameEx <- "metaplot" > > ### * metaplot > > flush(stderr()); flush(stdout()) > > ### Name: metaplot > ### Title: Meta-analysis plot (forest plot) > ### Aliases: metaplot > ### Keywords: hplot > > ### ** Examples > > 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)) > 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) > ## angry fruit salad > metaplot(a$logOR, a$selogOR, nn=a$selogOR^-2, a$names, + summn=a$logMH, sumse=a$selogMH, sumnn=a$selogMH^-2, + logeffect=TRUE, colors=meta.colors(box="magenta", + lines="blue", zero="red", summary="orange", + text="forestgreen")) > > > > ### *