Skip to contents

Performs an exact binomial test for differences in sensitivity and specificity of two binary diagnostic tests in a paired study design.

Usage

sesp.exactbinom(tab) <!-- %, alpha) -->

Arguments

tab

An object of class tab.paired.

Details

The function performs a standard exact binomial test.

An exact binomial test is recommended when the number of patients with differing results for test 1 and test 2 (discordant pairs) is small, i.e. <20 (Zhou et al., 2011).

Value

A list containing:

sensitivity

A list containing test1 (sensitivity of test 1), test2 (specificity of test 2), diff (the difference in sensitivity, computed as test2 - test1) and the corresponding p.value.

specificity

A list containing test1 (specificity of test 1), test2 (specificity of test 2), diff (the difference in specificity, computed as test2 - test1) and the corresponding p.value.

method

The name of the method used to compare sensitivity and specificity, here “exactbinom”.

References

Zhou, X., Obuchowski, N., and McClish, D. (2011). Statistical Methods in Diagnostic Medicine. Wiley Series in Probability and Statistics. John Wiley & Sons, Hoboken, New Jersey, 2nd edition.

See also

Examples

data(Paired1) # Hypothetical study data
ftable(Paired1)
#>      y2   0   1
#> d y1           
#> 0 0     155  22
#>   1      53  31
#> 1 0      32  22
#>   1      78 319
paired.layout <- tab.paired(d=d, y1=y1, y2=y2, data=Paired1)
paired.layout 
#> Two binary diagnostic tests (paired design)
#> 
#> Test1: 'y1'
#> Test2: 'y2'
#> 
#> Diseased:
#>            Test1 pos. Test1 neg. Total
#> Test2 pos.        319         22   341
#> Test2 neg.         78         32   110
#> Total             397         54   451
#> 
#> Non-diseased:
#>            Test1 pos. Test1 neg. Total
#> Test2 pos.         31         22    53
#> Test2 neg.         53        155   208
#> Total              84        177   261
#> 
exact.results <- sesp.exactbinom(paired.layout)
str(exact.results)
#> List of 3
#>  $ sensitivity: Named num [1:4] 8.80e-01 7.56e-01 -1.24e-01 1.59e-08
#>   ..- attr(*, "names")= chr [1:4] "test1" "test2" "diff" "p.value"
#>  $ specificity: Named num [1:4] 0.67816 0.79693 0.11877 0.00045
#>   ..- attr(*, "names")= chr [1:4] "test1" "test2" "diff" "p.value"
#>  $ method     : chr "exactbinom"
exact.results
#> $sensitivity
#>         test1         test2          diff       p.value 
#>  8.802661e-01  7.560976e-01 -1.241685e-01  1.590533e-08 
#> 
#> $specificity
#>       test1       test2        diff     p.value 
#> 0.678160920 0.796934866 0.118773946 0.000449648 
#> 
#> $method
#> [1] "exactbinom"
#> 
exact.results$sensitivity["p.value"]
#>      p.value 
#> 1.590533e-08