Description Usage Arguments Details Value See Also Examples

View source: R/init_prob_num.R

`comp_prob`

computes current probability information
from 3 essential probabilities
(`prev`

,
`sens`

or `mirt`

,
`spec`

or `fart`

).
It returns a list of 13 probabilities `prob`

as its output.

1 2 |

`prev` |
The condition's prevalence value |

`sens` |
The decision's sensitivity value |

`mirt` |
The decision's miss rate value |

`spec` |
The decision's specificity value |

`fart` |
The decision's false alarm rate |

`tol` |
A numeric tolerance value for |

`comp_prob`

assumes that a sufficient and
consistent set of essential probabilities
(i.e., `prev`

and
either `sens`

or its complement `mirt`

, and
either `spec`

or its complement `fart`

)
is provided.

`comp_prob`

computes and returns a full set of basic and
various derived probabilities (e.g.,
the probability of a positive decision `ppod`

,
the probability of a correct decision `acc`

,
the predictive values `PPV`

and `NPV`

, as well
as their complements `FDR`

and `FOR`

)
in its output of a list `prob`

.

Extreme probabilities (sets containing two or more
probabilities of 0 or 1) may yield unexpected values
(e.g., predictive values `PPV`

or `NPV`

turning `NaN`

when `is_extreme_prob_set`

evaluates to `TRUE`

).

`comp_prob`

is the probability counterpart to the
frequency function `comp_freq`

.

Key relationships between probabilities and frequencies:

Three perspectives on a population:

A population of

`N`

individuals can be split into 2 subsets of frequencies in 3 different ways:by condition:

`N = cond_true + cond_false`

The frequency

`cond_true`

depends on the prevalence`prev`

and the frequency`cond_false`

depends on the prevalence's complement`1 - prev`

.by decision:

`N = dec_pos + dec_neg`

The frequency

`dec_pos`

depends on the proportion of positive decisions`ppod`

and the frequency`dec_neg`

depends on the proportion of negative decisions`1 - ppod`

.by accuracy (i.e., correspondence of decision to condition):

`N = dec_cor + dec_err`

Each perspective combines 2 pairs of the 4 essential probabilities (hi, mi, fa, cr).

When providing probabilities, the population size

`N`

is a free parameter (independent of the essential probabilities`prev`

,`sens`

, and`spec`

).If

`N`

is unknown (`NA`

), a suitable minimum value can be computed by`comp_min_N`

.Defining probabilities in terms of frequencies:

Probabilities

*are*– determine, describe, or are defined as – the relationships between frequencies. Thus, they can be computed as ratios between frequencies:prevalence

`prev`

:`prev = cond_true/N = (hi + mi) / (hi + mi + fa + cr)`

sensitivity

`sens`

:`sens = hi/cond_true = hi / (hi + mi) = (1 - mirt)`

miss rate

`mirt`

:`mirt = mi/cond_true = mi / (hi + mi) = (1 - sens)`

specificity

`spec`

:`spec = cr/cond_false = cr / (fa + cr) = (1 - fart)`

false alarm rate

`fart`

:`fart = fa/cond_false = fa / (fa + cr) = (1 - spec)`

proportion of positive decisions

`ppod`

:`ppod = dec_pos/N = (hi + fa) / (hi + mi + fa + cr)`

positive predictive value

`PPV`

:`PPV = hi/dec_pos = hi / (hi + fa) = (1 - FDR)`

negative predictive value

`NPV`

:`NPV = cr/dec_neg = cr / (mi + cr) = (1 - FOR)`

false detection rate

`FDR`

:`FDR = fa/dec_pos = fa / (hi + fa) = (1 - PPV)`

false omission rate

`FOR`

:`FOR = mi/dec_neg = mi / (mi + cr) = (1 - NPV)`

accuracy

`acc`

:`acc = dec_cor/N = (hi + cr) / (hi + mi + fa + cr)`

Note: When frequencies are rounded (by

`round = TRUE`

in`comp_freq`

), probabilities computed from`freq`

may differ from exact probabilities.

Functions translating between representational formats:
`comp_prob_prob`

, `comp_prob_freq`

,
`comp_freq_prob`

, `comp_freq_freq`

(see documentation of `comp_prob_prob`

for details).

A list `prob`

containing 13 probability values.

`prob`

contains current probability information;
`accu`

contains current accuracy information;
`num`

contains basic numeric parameters;
`init_num`

initializes basic numeric parameters;
`pal`

contains current color information;
`txt`

contains current text information;
`freq`

contains current frequency information;
`comp_freq`

computes frequencies from probabilities;
`is_valid_prob_set`

verifies sets of probability inputs;
`is_extreme_prob_set`

verifies sets of extreme probabilities;
`comp_min_N`

computes a suitable minimum population size `N`

;
`comp_freq_freq`

computes current frequency information from (4 essential) frequencies;
`comp_freq_prob`

computes current frequency information from (3 essential) probabilities;
`comp_prob_freq`

computes current probability information from (4 essential) frequencies;
`comp_prob_prob`

computes current probability information from (3 essential) probabilities.

Other functions computing probabilities: `comp_FDR`

,
`comp_FOR`

, `comp_NPV`

,
`comp_PPV`

, `comp_accu_freq`

,
`comp_accu_prob`

, `comp_acc`

,
`comp_comp_pair`

,
`comp_complement`

,
`comp_complete_prob_set`

,
`comp_err`

, `comp_fart`

,
`comp_mirt`

, `comp_ppod`

,
`comp_prob_freq`

, `comp_sens`

,
`comp_spec`

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | ```
# Basics:
comp_prob(prev = .11, sens = .88, spec = .77) # => ok: PPV = 0.3210614
comp_prob(prev = .11, sens = NA, mirt = .12, spec = NA, fart = .23) # => ok: PPV = 0.3210614
comp_prob() # => ok, using current defaults
length(comp_prob()) # => 13 probabilities
# Ways to work:
comp_prob(.99, sens = .99, spec = .99) # => ok: PPV = 0.999898
comp_prob(.99, sens = .90, spec = NA, fart = .10) # => ok: PPV = 0.9988789
# Watch out for extreme cases:
comp_prob(1, sens = 0, spec = 1) # => ok, but with warnings (as PPV & FDR are NaN)
comp_prob(1, sens = 0, spec = 0) # => ok, but with warnings (as PPV & FDR are NaN)
comp_prob(1, sens = 0, spec = NA, fart = 0) # => ok, but with warnings (as PPV & FDR are NaN)
comp_prob(1, sens = 0, spec = NA, fart = 1) # => ok, but with warnings (as PPV & FDR are NaN)
# Watch out for extreme cases:
comp_prob(1, sens = 0, spec = 1) # => ok, but with warnings (as PPV & FDR are NaN)
comp_prob(1, sens = 0, spec = 0) # => ok, but with warnings (as PPV & FDR are NaN)
comp_prob(1, sens = 0, spec = NA, fart = 0) # => ok, but with warnings (as PPV & FDR are NaN)
comp_prob(1, sens = 0, spec = NA, fart = 1) # => ok, but with warnings (as PPV & FDR are NaN)
comp_prob(1, sens = 1, spec = 0) # => ok, but with warnings (as NPV & FOR are NaN)
comp_prob(1, sens = 1, spec = 1) # => ok, but with warnings (as NPV & FOR are NaN)
comp_prob(1, sens = 1, spec = NA, fart = 0) # => ok, but with warnings (as NPV & FOR are NaN)
comp_prob(1, sens = 1, spec = NA, fart = 1) # => ok, but with warnings (as NPV & FOR are NaN)
# Ways to fail:
comp_prob(NA, 1, 1, NA) # => only warning: invalid set (prev not numeric)
comp_prob(8, 1, 1, NA) # => only warning: prev no probability
comp_prob(1, 8, 1, NA) # => only warning: sens no probability
comp_prob(1, 1, 1, 1) # => only warning: is_complement not in tolerated range
``` |

riskyr documentation built on Jan. 3, 2019, 1:06 a.m.

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.