MRMCbinary {MRMCbinary} | R Documentation |
Multi-reader multi-case analysis of binary diagnostic tests
Description
MRMCbinary()
is the main function of MRMCbinary
package and
can be used to compare sensitivity and specificity of diagnostic tests for binary outcomes in multi-reader multi-case (MRMC) studies.
Usage
MRMCbinary(
data,
Modality,
Reader,
Case,
D,
Y,
measure,
effect,
interaction = NULL,
reference.Modality = NULL,
reference.Reader = NULL
)
Arguments
data |
A data frame in which contains the modality identifiers ( |
Modality |
Variable of the modality identifiers. |
Reader |
Variable of the reader identifiers. |
Case |
Variable of the case identifiers. |
D |
Variable of the true disease status. It should be set the value to 1 for cases diseased and to 0 for those non-diseased. |
Y |
Variable of the binary diagnostic test result. It should be set the value to 1 for cases diagnosed as positive and to 0 for those diagnosed as negative. |
measure |
Diagnostic accuracy measure (one of |
effect |
Effect to compare sensitivity and specificity (one of |
interaction |
When evaluating the interaction effect between modality and reader, |
reference.Modality |
Reference in variable of the modality identifiers. |
reference.Reader |
Reference in variable of the reader identifiers. |
Details
There are three effects that can be evaluated:
-
effect = "Modality"
: This is used when the goal is to exclusively evaluate the effects of multiple modalities. And, Cochran's Q test (when the number of modalities is greater than 2) or McNemar's test (when the number of modalities is equal to 2) result is reported. Wheneffect = "Modality"
,interaction
must be set to NULL. -
effect = "Reader"
: This is used when the goal is to exclusively evaluate the effects of multiple readers. And, Cochran's Q test (when the number of modalities is greater than 2) or McNemar's test (when the number of modalities is equal to 2) result is reported. Wheneffect = "Reader"
,interaction
must be set to NULL. -
effect = "Both"
: This is used when the goal is to simultaneously evaluate the effects of multiple modalities and multiple readers. In this case,interaction
must be specified (TRUE or FALSE). If one want to evaluate the interaction effect between modality and reader in the conditional logistic regression, setinteraction = TRUE
, otherwiseinteraction = FALSE
. Wheninteraction = TRUE
, Cochran's Q test result is reported. However, wheninteraction = FALSE
, Cochran's Q test or McNemar's test result is not reported.
See Lee et al. (2025) for details.
Value
An object of class MRMCbinary
. The object is a data.frame with the following components:
CLR_sen |
Conditional logistic regression results for sensitivity. |
CLR_LRT_sen |
Likelihood ratio test from the conditional logistic regression results for sensitivity. |
CLR_Score_sen |
Score test from the conditional logistic regression results for sensitivity. |
CLR_Wald_sen |
Wald test from the conditional logistic regression results for sensitivity. |
Q_MN_sen |
Cochran's Q test (when the number of modalities is greater than 2) or McNemar's test (when the number of modalities is equal to 2) result for sensitivity. This is only reported if (1) |
CLR_spe |
Conditional logistic regression results for specificity. |
CLR_LRT_spe |
Likelihood ratio test from the conditional logistic regression results for specificity. |
CLR_Score_spe |
Score test from the conditional logistic regression results for specificity. |
CLR_Wald_spe |
Wald test from the conditional logistic regression results for specificity. |
Q_MN_spe |
Cochran's Q test (when the number of modalities is greater than 2) or McNemar's test (when the number of modalities is equal to 2) result for specificity. This is only reported if (1) |
formula |
Formula used in the conditional logistic regression. |
args |
List of arguments used in the |
n.modality |
Total number of modalities. |
n.reader |
Total number of readers. |
n.case |
Total number of cases. |
effect |
Effect to compare sensitivity and specificity. |
measure |
Diagnostic accuracy measure. |
interaction |
This is only included in the |
reference.Modality |
Reference in variable of the modality identifiers. |
reference.Reader |
Reference in variable of the reader identifiers. |
n.diseased |
The number of diseased cases. If |
n.nondiseased |
The number of non-diseased cases. If |
n.pos.diseased |
The number of test positive cases among diseased cases. If |
n.pos.nondiseased |
The number of test positive cases among non-diseased cases. If |
The results for the MRMCbinary
are printed with the print.MRMCbinary
function.
Also, the results for the MRMCbinary
are summarized with the summary.MRMCbinary
function.
References
Lee, S., Jang, S., and Lee, W. Evaluating Diagnostic Accuracy of Binary Medical Tests in Multi-reader Multi-case Study.
See Also
print.MRMCbinary
, summary.MRMCbinary
Examples
## Load example data
data(VanDyke)
## Return the first parts of an object
head(VanDyke)
## See unique readers
unique(VanDyke$reader)
## See unique modalities
unique(VanDyke$treatment)
## Create binary test results (Y_ijk)
VanDyke$Y <- as.numeric(VanDyke$rating >= 3)
## Example usage of MRMCbinary function:
# When comparing the sensitivities and specificities between modalities
modality_result <- MRMCbinary(data = VanDyke, Modality = treatment, Reader = reader,
Case = case, D = truth, Y = Y, measure = "All",
effect = "Modality", interaction = NULL,
reference.Modality = "1", reference.Reader = NULL)
# When comparing the sensitivities and specificities between readers
reader_result <- MRMCbinary(data = VanDyke, Modality = treatment, Reader = reader,
Case = case, D = truth, Y = Y, measure = "All",
effect = "Reader", interaction = NULL,
reference.Modality = NULL, reference.Reader = "1")
# When comparing the sensitivities and specificities
# between modalities and between readers together
# not considering interaction between modalities and readers
both_result_wo_int <- MRMCbinary(data = VanDyke, Modality = treatment, Reader = reader,
Case = case, D = truth, Y = Y, measure = "All",
effect = "Both", interaction = FALSE,
reference.Modality = "1", reference.Reader = "1")
# When comparing the sensitivities and specificities
# between modalities and between readers together
# considering interaction between modalities and readers
both_result_with_int <- MRMCbinary(data = VanDyke, Modality = treatment, Reader = reader,
Case = case, D = truth, Y = Y, measure = "All",
effect = "Both", interaction = TRUE,
reference.Modality = "1", reference.Reader = "1")