Skip to content
Snippets Groups Projects
Commit b2444540 authored by Christian Roever's avatar Christian Roever
Browse files

added 'forestplot.bmr()' documentation

parent 9754481d
No related branches found
No related tags found
No related merge requests found
\name{forestplot.bmr}
\alias{forestplot.bmr}
\title{
Generate a forest plot for a \code{\link{bmr}} object
(based on the \code{forestplot} package's plotting functions).
}
\description{
Generates a forest plot, showing individual estimates along with their
95 percent confidence intervals, shrinkage intervals, resulting effect
estimates and prediction intervals.
}
\usage{
\method{forestplot}{bmr}(x, X.summary, X.prediction,
labeltext, exponentiate=FALSE,
shrinkage=TRUE, heterogeneity=TRUE,
digits=2, decplaces.X, plot=TRUE,
fn.ci_norm, fn.ci_sum, col, legend, boxsize, ...)
}
\arguments{
\item{x}{
a \code{\link{bmr}} object.
}
\item{X.summary}{
a regressor matrix (\eqn{X}) to be used for effect estimates that
are to be shown in the plot. By default, a diagnonal matrix, set to
\code{NULL} in order to suppress showing summary estimates.
}
\item{X.prediction}{
an optional regressor matrix (\eqn{X}) to be used for predictions
that are to be shown in the plot.
}
\item{labeltext}{an (alternative) \dQuote{\code{labeltext}} argument
which is then handed on to the \code{\link[forestplot]{forestplot}()}
function (see the help there). You can use this to change contents
or add columns to the displayed table; see the example below.
}
\item{exponentiate}{
a logical flag indicating whether to exponentiate numbers (effect
sizes) in table and plot.
}
\item{shrinkage}{
a logical flag indicating whether to show shrinkage intervals along
with the quoted estimates.
}
\item{heterogeneity}{
a logical flag indicating whether to quote the heterogeneity estimate
and CI (at the bottom left).
}
\item{digits}{
The number of significant digits to be shown.
This is interpreted relative to the standard errors of all estimates.
}
\item{decplaces.X}{
The number of decimal places to be shown for the regressors.
}
\item{plot}{
a logical flag indicating whether to actually generate a plot.
}
\item{fn.ci_norm, fn.ci_sum, col, legend, boxsize, \ldots}{
other arguments passed on to the
\pkg{forestplot} package's \code{\link[forestplot]{forestplot}}
function (see also the help there).
}
}
\details{
Generates a forest plot illustrating the underlying data and
resulting estimates (effect estimates and/or prediction intervals,
as well as shrinkage estimates and intervals).
For effect estimates and prediction intervals, regressor matrices
(\eqn{x}) need to be supplied via the \sQuote{\code{X.summary}} or
\sQuote{\code{X.prediction}} arguments. Effect estimates are shown as
diamonds, predictions are shown as horizontal bars.
}
\note{This function is based on the \pkg{forestplot} package's
\dQuote{\code{\link[forestplot]{forestplot}()}} function.
}
\author{
Christian Roever \email{christian.roever@med.uni-goettingen.de}
}
\references{
C. Roever.
\href{https://www.doi.org/10.18637/jss.v093.i06}{Bayesian random-effects meta-analysis using the bayesmeta R package}.
\emph{Journal of Statistical Software}, \bold{93}(6):1-51, 2020.
C. Lewis and M. Clarke.
\href{https://doi.org/10.1136/bmj.322.7300.1479}{Forest plots: trying to see the wood and the trees}.
\emph{BMJ}, \bold{322}:1479, 2001.
C. Guddat, U. Grouven, R. Bender and G. Skipka.
\href{https://doi.org/10.1186/2046-4053-1-34}{A note on the
graphical presentation of prediction intervals in random-effects
meta-analyses}. \emph{Systematic Reviews}, \bold{1}(34), 2012.
R.D. Riley, J.P. Higgins and J.J. Deeks.
\href{https://doi.org/10.1136/bmj.d549}{Interpretation of random effects meta-analyses}.
\emph{BMJ}, \bold{342}:d549, 2011.
}
\seealso{
\code{\link{bayesmeta}},
\code{\link[forestplot]{forestplot}},
\code{\link{forestplot.bayesmeta}},
\code{\link{forestplot.escalc}}.
}
\examples{
\dontrun{
# load data:
data("CrinsEtAl2014")
# compute effect measures (log-OR):
crins.es <- escalc(measure="OR",
ai=exp.AR.events, n1i=exp.total,
ci=cont.AR.events, n2i=cont.total,
slab=publication, data=CrinsEtAl2014)
# show data:
crins.es[,c("publication", "IL2RA", "exp.AR.events", "exp.total",
"cont.AR.events", "cont.total", "yi", "vi")]
# specify regressor matrix (binary indicator variables):
X <- cbind("basiliximab"=as.numeric(crins.es$IL2RA=="basiliximab"),
"daclizumab" =as.numeric(crins.es$IL2RA=="daclizumab"))
print(X)
# perform meta-analysis:
bmr01 <- bmr(crins.es, X=X)
# show forest plot:
forestplot(bmr01)
# show forest plot including contrast
# (difference between groups):
forestplot(bmr01,
X.summary=rbind("basiliximab" =c(1, 0),
"daclizumab" =c(0, 1),
"contrast" =c(-1, 1)))
##########################################################
# perform meta-analysis using a different regressor setup:
X <- cbind("basiliximab"=1,
"offset.dac"=as.numeric(crins.es$IL2RA=="daclizumab"))
print(X)
# perform meta-analysis:
bmr02 <- bmr(crins.es, X=X)
# show forest plot:
forestplot(bmr02,
X.summary=rbind("basiliximab" =c(1, 0),
"daclizumab" =c(1, 1),
"contrast" =c(0, 1)))
##########################################################
# continuous regressor and prediction:
help("NicholasEtAl2019")
# load data:
data("NicholasEtAl2019")
# compute effect sizes (logarithic odds) from count data:
es <- escalc(measure="PLO",
xi=patients*(prog.percent/100), ni=patients,
slab=study, data=NicholasEtAl2019)
# set up regressor matrix:
X <- cbind("intercept2000" = 1, "year" = (es$year-2000))
# perform analysis:
bmr03 <- bmr(es, X=X)
# show forest plot including mean estimates for the
# years 1990 and 2018, and a prediction for 2020:
forestplot(bmr03,
X.summary=rbind("mean 1990"=c(1, -10),
"mean 2018"=c(1,18)),
X.predict=rbind("prediction 2020"=c(1,20)),
xlab="log-odds",
txt_gp = fpTxtGp(ticks = gpar(cex=1), xlab = gpar(cex=1)))
}
}
\keyword{ hplot }
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment