gendist_roc_format {phylosamp} | R Documentation |
Make ROC curve from sensitivity and specificity
Description
This is a wrapper function that takes output from the gendist_sensspec_cutoff()
function and constructs values for the
Receiver Operating Characteristic (ROC) curve
Usage
gendist_roc_format(
cutoff,
mut_rate,
mean_gens_pdf,
max_link_gens = 1,
max_gens = NULL,
max_dist = NULL
)
Arguments
cutoff |
the maximum genetic distance at which to consider cases linked |
mut_rate |
mean number of mutations per generation, assumed to be Poisson distributed |
mean_gens_pdf |
the density distribution of the mean number of generations between cases; the index of this vector is assumed to be the discrete distance between cases |
max_link_gens |
the maximum generations of separation for linked pairs |
max_gens |
the maximum number of generations to consider, if |
max_dist |
the maximum distance to calculate, if |
Value
data frame with cutoff, sensitivity, and 1-specificity
Author(s)
Shirlee Wohl and Justin Lessler
See Also
Other genetic distance functions:
gendist_distribution()
,
gendist_sensspec_cutoff()
Other ROC functions:
optim_roc_threshold()
Examples
# ebola-like pathogen
R <- 1.5
mut_rate <- 1
# use simulated generation distributions
data('genDistSim')
mean_gens_pdf <- as.numeric(genDistSim[genDistSim$R == R, -(1:2)])
# get theoretical genetic distance dist based on mutation rate and generation parameters
dists <- as.data.frame(gendist_distribution(mut_rate = mut_rate,
mean_gens_pdf = mean_gens_pdf,
max_link_gens = 1))
dists <- reshape2::melt(dists,
id.vars = 'dist',
variable.name = 'status',
value.name = 'prob')
# get sensitivity and specificity using the same paramters
roc_calc <- gendist_roc_format(cutoff = 1:(max(dists$dist)-1),
mut_rate = mut_rate,
mean_gens_pdf = mean_gens_pdf)