plot.diagmeta {diagmeta} | R Documentation |
Plot for meta-analysis of diagnostic test accuracy studies with the multiple cutoffs model
Description
Provides several plots for meta-analysis of diagnostic test accuracy studies with the multiple cutoffs model
Usage
## S3 method for class 'diagmeta'
plot(
x,
which = c("survival", "youden", "roc", "sroc"),
xlab = "Threshold",
main,
ci = FALSE,
ciSens = FALSE,
ciSpec = FALSE,
mark.optcut = FALSE,
mark.cutpoints = FALSE,
points = TRUE,
lines = FALSE,
rlines = TRUE,
line.optcut = TRUE,
col.points = "rainbow",
cex = 1,
pch.points = 16,
col = "black",
col.ci = "gray",
col.optcut = "black",
cex.marks = 0.7 * cex,
lwd = 1,
lwd.ci = lwd,
lwd.optcut = 2 * lwd,
lwd.study = lwd,
shading = "none",
col.hatching = col.ci,
lwd.hatching = lwd.ci,
ellipse = FALSE,
xlim = NULL,
...
)
Arguments
x |
An object of class |
which |
A character vector indicating the type of plot, either
|
xlab |
An x axis label |
main |
A logical indicating title to the plot |
ci |
A logical indicating whether confidence intervals should
be plotted for |
ciSens |
A logical indicating whether confidence intervals
should be plotted for sensitivity, given the specificity in
|
ciSpec |
A logical indicating whether confidence intervals
should be plotted for specificity, given the sensitivity in
|
mark.optcut |
A logical indicating whether the optimal cutoff
should be marked on |
mark.cutpoints |
A logical indicating whether the given
cutoffs should be marked on |
points |
A logical indicating whether points should be plotted
in plots |
lines |
A logical indicating whether polygonal lines
connecting points belonging to the same study should be printed
in plots |
rlines |
A logical indicating whether regression lines or
curves should be plotted for plots |
line.optcut |
A logical indicating whether a vertical line
should be plotted at the optimal cutoff line for plots
|
col.points |
A character string indicating color of points,
either |
cex |
A numeric indicating magnification to be used for plotting text and symbols |
pch.points |
A numeric indicating plot symbol(s) for points |
col |
A character string indicating color of lines |
col.ci |
A character string indicating color of confidence lines |
col.optcut |
A character string indicating color of optimal cutoff line |
cex.marks |
A numeric indicating magnification(s) to be used for marking cutoffs |
lwd |
A numeric indicating line width |
lwd.ci |
A numeric indicating line width of confidence lines |
lwd.optcut |
A numeric indicating line width of optimal cutoff |
lwd.study |
A numeric indicating line width of individual studies |
shading |
A character indicating shading and hatching
confidence region in |
col.hatching |
A character string indicating color used in hatching of the confidence region |
lwd.hatching |
A numeric indicating line width used in hatching of the confidence region |
ellipse |
A logical indicating whether a confidence ellipse should be drawn around the optimal cutoff |
xlim |
A character or numerical vector indicating the minimum and maximum value for the horizontal axes |
... |
Additional graphical arguments |
Details
The first argument of the plot function is an object of class "diagmeta".
The second argument which
indicates which sort of plot(s)
should be shown. For which="regression"
, a scatter plot of
the quantile-transformed proportions of negative test results with
two regression lines is shown. Points belonging to the same study
are marked with the same colour. For which="cdf"
, the two
cumulative distribution functions are shown, corresponding to the
proportions of negative test results. For which="survival"
,
the survival functions are shown, corresponding to the proportions
of positive test results. For which="Youden"
, the
(potentially weighted) sum of sensitivity and specificity minus 1
is shown; in case of lambda=0.5
(the default) this is the
Youden index. For which="ROC"
, study-specific ROC curves are
shown. For which="SROC"
, the model-based summary ROC curve
is shown. For which="density"
, the model-based densities of
both groups are shown. For which="sensspec"
, the sensitivity
(decreasing with increasing cutoff) and the specificity (increasing
with increasing cutoff) are shown. Instead of character strings, a
numeric value or vector can be used to specify plots with numbers
corresponding to the following order of plots: "regression", "cdf",
"survival", "youden", "roc", "sroc", "density", and "sensspec".
Other arguments refer to further plot parameters, such as
lines
(whether points belonging to the same study should be
joined), rlines
(whether regression curves should be drawn),
ci
/ ciSens
/ ciSpec
/ ellipse
(whether
confidence regions should be shown), line.optcut
/
mark.optcut
(whether the optimal cutoff should be
indicated), and additional plot parameters (see Arguments).
If no further arguments are provided, four standard plots ("survival", "Youden", "ROC", and "SROC") are produced in a 2 x 2 format.
Author(s)
Gerta Rücker gerta.ruecker@uniklinik-freiburg.de, Susanne Steinhauser susanne.steinhauser@uni-koeln.de, Srinath Kolampally kolampal@imbi.uni-freiburg.de, Guido Schwarzer guido.schwarzer@uniklinik-freiburg.de
References
Schneider A, Linde K, Reitsma JB, Steinhauser S, Rücker G (2017): A novel statistical model for analyzing data of a systematic review generates optimal cutoff values for fractional exhaled nitric oxide for asthma diagnosis. Journal of Clinical Epidemiology, 92, 69–78
Steinhauser S, Schumacher M, Rücker G (2016): Modelling multiple thresholds in meta-analysis of diagnostic test accuracy studies. BMC Medical Research Methodology, 16, 97
See Also
Examples
# FENO dataset
#
data(Schneider2017)
diag1 <- diagmeta(tpos, fpos, tneg, fneg, cutpoint,
studlab = paste(author, year, group),
data = Schneider2017,
log.cutoff = TRUE)
# Regression plot with confidence intervals
#
plot(diag1, which = "regr", lines = FALSE, ci = TRUE)
# Cumulative distribution plot with optimal cutoff line and
# confidence intervals
#
plot(diag1, which = "cdf", line.optcut = TRUE, ci = TRUE)
# Survival plot with optimal cutoff line and confidence intervals
#
plot(diag1, which = "survival", line.optcut = TRUE, ci = TRUE)
# Youden plot of optimal cutoff line and confidence intervals
#
plot(diag1, which = "youden",
lines = TRUE, line.optcut = TRUE, ci = TRUE)
# ROC plot of lines connecting points belonging to the same study
#
plot(diag1, which = "ROC", lines = TRUE)
# SROC plot of confidence regions for sensitivity and specificity
# with optimal cutoff mark
#
plot(diag1, which = "SROC",
ciSens = TRUE, ciSpec = TRUE, mark.optcut = TRUE,
shading = "hatch")
# Density plot of densities for both groups with optimal cutoff
# line
#
plot(diag1, which = "density", line.optcut = TRUE)