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 diagmeta

which

A character vector indicating the type of plot, either "regression" or "cdf" or "survival" or "Youden" or "ROC" or "SROC" or "density" or "sensspec", can be abbreviated

xlab

An x axis label

main

A logical indicating title to the plot

ci

A logical indicating whether confidence intervals should be plotted for "regression", "cdf", "survival", "Youden", and "sensspec"

ciSens

A logical indicating whether confidence intervals should be plotted for sensitivity, given the specificity in "SROC" plot

ciSpec

A logical indicating whether confidence intervals should be plotted for specificity, given the sensitivity in "SROC" plot

mark.optcut

A logical indicating whether the optimal cutoff should be marked on "SROC" plot

mark.cutpoints

A logical indicating whether the given cutoffs should be marked on "SROC" plot

points

A logical indicating whether points should be plotted in plots "regression", "cdf", "survival", "Youden", "ROC", and "sensspec"

lines

A logical indicating whether polygonal lines connecting points belonging to the same study should be printed in plots "regression", "cdf", "survival", "Youden", and "sensspec"

rlines

A logical indicating whether regression lines or curves should be plotted for plots "regression", "cdf", "survival", "Youden", and "sensspec"

line.optcut

A logical indicating whether a vertical line should be plotted at the optimal cutoff line for plots "cdf", "survival", "Youden", and "density"

col.points

A character string indicating color of points, either "rainbow", "topo", "heat", "terrain", "cm", "grayscale", or any color defined in colours

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 "SROC" plot, either "none" or "shade" or "hatch"

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

diagmeta

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)


[Package diagmeta version 0.5-1 Index]