ccalc {metamisc} | R Documentation |
Calculate the concordance statistic
Description
The function calculates (transformed versions of) the concordance (c-) statistic with the corresponding sampling variance.
Usage
ccalc(
cstat,
cstat.se,
cstat.cilb,
cstat.ciub,
cstat.cilv,
sd.LP,
N,
O,
Po,
data,
slab,
subset,
g = NULL,
level = 0.95,
approx.se.method = 4,
...
)
Arguments
cstat |
vector to specify the estimated c-statistics. |
cstat.se |
Optional vector to specify the corresponding standard errors. |
cstat.cilb |
Optional vector to specify the lower limits of the confidence interval. |
cstat.ciub |
Optional vector to specify the upper limits of the confidence interval. |
cstat.cilv |
Optional vector to specify the levels of aformentioned confidence interval limits. (default: 0.95, which corresponds to the 95% confidence interval). |
sd.LP |
Optional vector to specify the standard deviations of the linear predictor (prognostic index). |
N |
Optional vector to specify the sample/group sizes. |
O |
Optional vector to specify the total number of observed events. |
Po |
Optional vector to specify the observed event probabilities. |
data |
Optional data frame containing the variables given to the arguments above. |
slab |
Optional vector with labels for the studies. |
subset |
Optional vector indicating the subset of studies that should be used. This can be a logical vector or a numeric vector indicating the indices of the studies to include. |
g |
a quoted string that is the function to transform estimates of the c-statistic; see the details below. |
level |
Optional numeric to specify the level for the confidence interval, default |
approx.se.method |
integer specifying which method should be used for estimating the standard error of the
c-statistic (Newcombe, 2006). So far, only method |
... |
Additional arguments. |
Details
The c-statistic is a measure of discrimination, and indicates the ability of a prediction model to distinguish between patients developing and not developing the outcome. The c-statistic typically ranges from 0.5 (no discriminative ability) to 1 (perfect discriminative ability).
By default, the function ccalc
will derive the c-statistic of each study, together with
the corresponding standard error and 95% confidence interval. However, it is also possible to calculate transformed
versions of the c-statistic. Appropriate standard errors are then derived using the Delta method.
For instance, the logit transformation can be applied by specifying g="log(cstat/(1-cstat))"
.
Restoring the c-statistic
For studies where the c-statistic is missing, it is estimated from the standard deviation of the linear predictor
(theta.source="std.dev(LP)"
). The corresponding method is described by White et al. (2015).
Restoring the standard error of the c-statistic
When missing, the standard error of the c-statistic can be estimated from the confidence interval. Alternatively,
the standard error can be approximated from a combination of the reported c-statistic, the total sample size and
the total number of events (Newcombe, 2006). This can be achieved by adopting (a modification of) the method
proposed by Hanley and McNeil, as specified in approx.se.method
.
Value
An object of class c("mm_perf","data.frame") with the following columns:
- "theta"
The (transformed) c-statistics.
- "theta.se"
Standard errors of the (transformed) c-statistics.
- "theta.cilb"
Lower confidence interval of the (transformed) c-statistics. The level is specified in
level
. Intervals are calculated on the same scale astheta
by assuming a Normal distribution.- "theta.ciub"
Upper confidence interval of the (transformed) c-statistics. The level is specified in
level
. Intervals are calculated on the same scale astheta
by assuming a Normal distribution.- "theta.source"
Method used for calculating the (transformed) c-statistic.
- "theta.se.source"
Method used for calculating the standard error of the (transformed) c-statistic.
Author(s)
Thomas Debray <thomas.debray@gmail.com>
References
Debray TPA, Damen JAAG, Snell KIE, Ensor J, Hooft L, Reitsma JB, et al. A guide to systematic review and meta-analysis of prediction model performance. BMJ. 2017;356:i6460.
Debray TPA, Damen JAAG, Riley R, Snell KIE, Reitsma JB, Hooft L, et al. A framework for meta-analysis of prediction model studies with binary and time-to-event outcomes. Stat Methods Med Res. 2018; In press.
Hanley JA, McNeil BJ. The meaning and use of the area under a receiver operating characteristic (ROC) curve. Radiology. 1982; 143(1):29–36.
Newcombe RG. Confidence intervals for an effect size measure based on the Mann-Whitney statistic. Part 2: asymptotic methods and evaluation. Stat Med. 2006; 25(4):559–73.
Snell KI, Ensor J, Debray TP, Moons KG, Riley RD. Meta-analysis of prediction model performance across multiple studies: Which scale helps ensure between-study normality for the C -statistic and calibration measures? Statistical Methods in Medical Research. 2017.
White IR, Rapsomaniki E, the Emerging Risk Factors Collaboration. Covariate-adjusted measures of discrimination for survival data. Biom J. 2015;57(4):592–613.
Examples
######### Validation of prediction models with a binary outcome #########
data(EuroSCORE)
# Calculate the c-statistic and its standard error
est1 <- ccalc(cstat = c.index, cstat.se = se.c.index, cstat.cilb = c.index.95CIl,
cstat.ciub = c.index.95CIu, N = n, O = n.events, data = EuroSCORE, slab = Study)
est1
# Calculate the logit c-statistic and its standard error
est2 <- ccalc(cstat = c.index, cstat.se = se.c.index, cstat.cilb = c.index.95CIl,
cstat.ciub = c.index.95CIu, N = n, O = n.events, data = EuroSCORE, slab = Study,
g = "log(cstat/(1-cstat))")
est2
# Display the results of all studies in a forest plot
plot(est1)