## S3 method for class 'meta':
forest(x, byvar=x$byvar, bylab=x$bylab,
print.byvar=x$print.byvar, sortvar, studlab=TRUE,
level=x$level, level.comb=x$level.comb,
comb.fixed=x$comb.fixed, comb.random=x$comb.random,
overall=TRUE,
text.fixed="Fixed effect model", text.random="Random effects model",
lty.fixed=2, lty.random=3,
text.fixed.w=text.fixed, text.random.w=text.random,
pooled.totals=comb.fixed|comb.random, pooled.events=FALSE,
xlab="", xlab.pos=ref,
smlab=NULL, smlab.pos=ref, xlim="symmetric",
allstudies=TRUE,
weight,
pscale=1,
ref=ifelse(x$sm \%in\% c("RR", "OR", "HR"), 1, 0),
leftcols=NULL, rightcols=NULL,
leftlabs=NULL, rightlabs=NULL,
lab.e=x$label.e, lab.c=x$label.c,
lab.e.attach.to.col=NULL, lab.c.attach.to.col=NULL,
label.right=x$label.right, label.left=x$label.left,
lab.NA=".",
lwd=1,
at=NULL, label=TRUE,
col.i="black", col.i.inside.square="white",
col.square="gray", col.square.lines=col.square,
col.diamond="gray",
col.diamond.fixed=col.diamond, col.diamond.random=col.diamond,
col.diamond.lines="black",
col.diamond.fixed.lines=col.diamond.lines,
col.diamond.random.lines=col.diamond.lines,
col.by="darkgray",
print.I2=TRUE, print.tau2=TRUE, print.Q=FALSE, print.pval.Q=TRUE,
hetstat=print.I2|print.tau2|print.Q|print.pval.Q,
overall.hetstat=overall&hetstat,
hetlab="Heterogeneity: ",
fontsize=12,
fs.heading=fontsize,
fs.fixed=fontsize, fs.random=fs.fixed, fs.study=fontsize,
fs.fixed.labels=fs.fixed, fs.random.labels=fs.random,
fs.study.labels=fs.study, fs.hetstat=fontsize-2,
fs.axis=fontsize,
fs.smlab=fontsize, fs.xlab=fontsize, fs.lr=fontsize,
ff.heading="bold",
ff.fixed="bold", ff.random=ff.fixed, ff.study="plain",
ff.fixed.labels=ff.fixed, ff.random.labels=ff.random,
ff.study.labels=ff.study, ff.hetstat="bold.italic",
ff.axis="plain",
ff.smlab="bold", ff.xlab="plain", ff.lr="plain",
##
squaresize=0.8,
boxsize=squaresize,
##
plotwidth=unit(6, "cm"),
colgap=unit(2, "mm"),
colgap.left=colgap, colgap.right=colgap,
colgap.forest=colgap,
colgap.forest.left=colgap.forest, colgap.forest.right=colgap.forest,
##
just="center",
##
addspace=TRUE,
##
new=TRUE,
##
digits=2, ...)
meta
.x$TE
). Argument byvar
can not be
used if x
is an object of class metacum
or
metainf
.x$TE
).x$TE
then).byvar
if summaries should only be plotted on group
level."same"
, "fixed"
, or
"random"
, can be abbreviated. Plot symbols metaprop
.ref
is equal to NA
.lab.e
should be attached to in table heading.lab.c
should be attached to in table heading.par
.grid.xaxis
.grid.xaxis
.byvar
if heterogeneity statistics should only be
printegpar
.gpar
.gpar
.gpar
.gpar
.gpar
.gpar
.gpar
.gpar
.gpar
.gpar
.gpar
.gpar
.gpar
.gpar
.gpar
.gpar
.gpar
.gpar
.gpar
.gpar
.gpar
.gpar
.gpar
.gpar
.print.default
.byvar
is not missing. The forest
function is based on the grid graphics
system. In order to print the forest plot, (i) resize the graphics
window, (ii) either use dev.copy2eps
or
dev.copy2pdf
.
Information from object x
is utilised if argument weight
is missing. Weights from the fixed effect model are used
(weight="fixed"
) if argument x$comb.fixed
is
TRUE
; weights from the random effects model are used
(weight="random"
) if argument x$comb.random
is TRUE
and x$comb.fixed
is FALSE
.
The arguments leftcols
and rightcols
can be used to
specify columns which are plotted on the left and right side of the
forest plot, respectively. If argument rightcols
is
FALSE
, no columns will be plotted on the right side. By
default, i.e. if arguments leftcols
and rightcols
are
NULL
, the following default columns will be plotted.
Argument rightcols
: rightcols=c("effect", "ci")
, i.e.,
estimated treatment effect and its level
-confidence
interval. In addition, weights of the fixed ("w.fixed"
) and/or random effects
model ("w.random"
) will be given, if comb.fixed=TRUE
and/or comb.random=TRUE
. For an object
of class metacum
or metainf
only the estimated treatment
effect with level
-confidence interval are plotted.
Argument leftcols
:
(i) leftcols=c("studlab", "event.e", "n.e", "event.c", "n.c")
for an object of class metabin
,
(ii) leftcols=c("studlab", "n.e", "mean.e", "sd.e", "n.c",
"mean.c", "sd.c")
for an object of class metacont
,
(iii) leftcols=c("studlab", "TE", "seTE")
for an object of class metagen
,
(iv) leftcols=c("studlab", "event", "n")
for an object of class metaprop
,
(v) leftcols=c("studlab", "n")
for an object of class metacor
,
(vi) leftcols=c("studlab")
for an object of class metacum
or metainf
.
The arguments leftlabs
and rightlabs
can be used to
specify column headings which are plotted on left and right side of
the forest plot, respectively. For certain columns predefined labels
exist. If the arguments leftlabs
and rightlabs
are
NULL
, the following default labels will be used: for columns
c("studlab", "TE", "seTE", "n.e", "n.c", "event.e", "event.c",
"mean.e", "mean.c", "sd.e", "sd.c", "effect", "ci", "w.fixed",
"w.random")
the labels c("Study", "TE", "seTE", "Total",
"Total", "Events", "Events", "Mean", "Mean", "SD", "SD",
summary measure, level for confidence interval, "W(fixed)",
"W(random)")
. For additional columns the column name
will be used as label. It is possible to only provide labels for new
columns (see Examples). Otherwise the length of leftlabs
and
rightlabs
must be the same as the number of printed
columns. The value NA
can be used to specify columns using the
default labels (see Example).
If arguments lab.e
and lab.c
are NULL
,
"Experimental" and "Control" are used as labels for experimental and
control group, respectively.
The arguments pscale
can be used to rescale proportions
for objects of class metaprop
, e.g. pscale=100
means
that proportions are expressed per 100 observations. This is useful in
situations with (very) low proportions. For pscale=100
, column
heading and x-axis label are changed to "Prop (in %)" and "Proportion
(in %"), respectively.
plot.meta
, metabin
, metacont
, metagen
data(Olkin95)
meta1 <- metabin(event.e, n.e, event.c, n.c,
data=Olkin95, subset=c(41,47,51,59),
sm="RR", method="I",
studlab=paste(author, year))
##
## Do (symmetric) forest plot
##
forest(meta1)
##
## Forest plot specifying argument xlim
##
forest(meta1, xlim=c(0.01, 10))
##
## Forest plot with 'classic' layout used in
## R package meta, version < 1.6-0
##
forest(meta1, col.square="black", hetstat=FALSE)
##
## Change set of columns printed on left side
## of forest plot
##
forest(meta1, comb.random=FALSE,
leftcols="studlab")
##
## Do not print columns on right side of forest plot
##
forest(meta1, rightcols=FALSE)
##
## Change study label to "Author"
##
forest(meta1, comb.random=FALSE,
leftlabs=c("Author", NA, NA, NA, NA))
##
## Just give effect estimate and 95% confidence interval
## on right side of forest plot
##
forest(meta1, rightcols=c("effect", "ci"))
##
## 1. Change order of columns on left side
## 2. Attach labels to columns 'event.e' and 'event.c'
## instead of columns 'n.e' and 'n.c'
##
forest(meta1,
leftcols=c("studlab", "n.e", "event.e", "n.c", "event.c"),
lab.e.attach.to.col="event.e",
lab.c.attach.to.col="event.c")
Olkin95$studlab <- paste(Olkin95$author, Olkin95$year)
##
## Add variables 'year' and 'author' to meta-analysis object
##
meta1$year <- addvar(meta1, Olkin95, "year")
meta1$author <- addvar(meta1, Olkin95, "author")
##
## Specify column labels only for newly created variables
## 'year' and 'author'
##
forest(meta1,
leftcols=c("studlab", "event.e", "n.e", "event.c", "n.c",
"author", "year"),
leftlabs=c("Author", "Year of Publ"))
##
## Change some fontsizes and fontfaces
##
forest(meta1,
fs.study=10, ff.study="italic",
fs.study.label=11, ff.study.label="bold",
fs.axis=5, ff.axis="italic",
ff.smlab="bold.italic",
ff.fixed="plain", ff.hetstat="plain")
##
## Change some colours
##
forest(meta1,
col.diamond="green", col.diamond.lines="red",
col.i=c("green", "blue", "red", "orange"),
col.square="pink", col.square.lines="black")
Run the code above in your browser using DataLab