SensSpec.demo: Demonstrate Sensitivity, Specificity, PPV, and NPV
Description
This function demonstrates how to get PPV and NPV from Sensitivity,
Specificity, and Prevalence by using a virtual population rather than
a direct application of Bayes Rule. This approach is more intuitive
to mathphobes.
Usage
SensSpec.demo(sens, spec, prev, n = 100000, step = 11)
Arguments
sens
Sensitivity (between 0 and 1)
spec
Specificity (between 0 and 1)
prev
Prevalence (between 0 and 1)
n
Size of the virtual population (large round number)
step
which step of the process to display
Value
An invisible matrix with the 2x2 table
Details
The common way to compute Positive Predictive Value (probability of
disease given a positive test (PPV)) and Negative Predictive Value
(probability of no disease given negative test (NPV)) is to use Bayes' rule
with the Sensitivity, Specificity, and Prevalence.
This approach can be overwhelming to non-math types, so this
demonstration goes through the steps of assuming a virtual population, then
filling in a 2x2 table based on the population and given values of
Sensitivity, Specificity, and Prevalence. PPV and NPV are then
computed from this table. This approach is more intuitive to many
people.
The function can be run multiple times with different values of
step to show the steps in building the table, then rerun with
different values to show how changes in the inputs affect the results.