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), the reader identifiers (Reader), the case identifiers (Case), the true disease status (D), and the binary diagnostic test result (Y).

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 "All", "Sensitivity", and "Specificity").

effect

Effect to compare sensitivity and specificity (one of "Modality", "Reader", and "Both"). See Details.

interaction

When evaluating the interaction effect between modality and reader, interaction = TRUE, otherwise interaction = FALSE. Specify only when effect is "Both". Default: NULL. See Details.

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:

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) effect = "Modality", (2) effect = "Reader", or (3) effect = "Both" and interaction = TRUE.

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) effect = "Modality", (2) effect = "Reader", or (3) effect = "Both" and interaction = TRUE.

formula

Formula used in the conditional logistic regression.

args

List of arguments used in the MRMCbinary function.

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 MRMCbinary object when effect = "Both". If one want to evaluate the interaction effect between modality and reader in the conditional logistic regression, interaction = TRUE, otherwise interaction = FALSE.

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 measure = "Specificity", then n.diseased is NULL.

n.nondiseased

The number of non-diseased cases. If measure = "Sensitivity", then n.nondiseased is NULL.

n.pos.diseased

The number of test positive cases among diseased cases. If measure = "Specificity", then n.pos.diseased is NULL.

n.pos.nondiseased

The number of test positive cases among non-diseased cases. If measure = "Sensitivity", then n.pos.nondiseased is NULL.

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")


[Package MRMCbinary version 1.0.5 Index]