Skip to contents

Calculates probabilities and expected counts across hierarchical levels (trial, subset, set) in a structured population. Uses trial probabilities and handles nested sampling with conditional probabilities.

Usage

trial_totals(
  mcmodule,
  mc_names,
  trials_n,
  subsets_n = NULL,
  subsets_p = NULL,
  name = NULL,
  prefix = NULL,
  combine_prob = TRUE,
  all_suffix = NULL,
  level_suffix = c(trial = "trial", subset = "subset", set = "set"),
  mctable = set_mctable(),
  sample_design = set_sample_design(),
  agg_keys = NULL,
  agg_suffix = NULL,
  keep_variates = FALSE,
  summary = TRUE,
  data_name = NULL
)

Arguments

mcmodule

(mcmodule object). Module containing input data and node structure.

mc_names

(character vector). Node names to process.

trials_n

(character). Trial count column name.

subsets_n

(character, optional). Subset count column name. Default: NULL.

subsets_p

(character, optional). Subset prevalence column name. Default: NULL.

name

(character, optional). Custom name for output nodes. Default: NULL.

prefix

(character, optional). Prefix for output node names. Default: NULL.

combine_prob

(logical). If TRUE, combine probability of all nodes assuming independence. Default: TRUE.

all_suffix

(character). Suffix for combined node name. Default: "all".

level_suffix

(list, optional). Suffixes for each hierarchical level. Default: c(trial="trial", subset="subset", set="set").

mctable

(data frame, optional). Monte Carlo nodes definitions. Default: set_mctable().

sample_design

(matrix, data frame, or list, optional). Sampling design used to create missing input nodes via matrix_to_mcnodes(). Accepts a matrix/data frame (for example from sensobol::sobol_matrices()) or a list with element X (typically output of sensitivity::sensitivity functions such as sensitivity::morris()). Defaults to set_sample_design().

agg_keys

(character vector, optional). Column names for aggregation. Default: NULL.

agg_suffix

(character). Suffix for aggregated node names. Default: "hag".

keep_variates

(logical). If TRUE, preserve individual variate values. Default: FALSE.

summary

(logical). If TRUE, include summary statistics. Default: TRUE.

data_name

(character, optional). Data name used to create trials_n, subsets_n and subsets_p nodes if they don't exist in mcmodule. Default: NULL.

Value

Updated mcmodule object containing combined node probabilities and probabilities/counts at trial, subset, and set levels.

Examples

imports_mcmodule <- trial_totals(
  mcmodule = imports_mcmodule,
  mc_names = "no_detect",
  trials_n = "animals_n",
  subsets_n = "farms_n",
  subsets_p = "h_prev",
  mctable = imports_mctable
)
print(imports_mcmodule$node_list$no_detect_set$summary)
#>         mc_name pathogen origin      mean          sd       Min      2.5%
#> 1 no_detect_set        a   nord 0.3768637 0.019841401 0.3410513 0.3421957
#> 2 no_detect_set        a  south 0.2966092 0.065599895 0.1829595 0.1873098
#> 3 no_detect_set        a   east 0.6078884 0.044874021 0.5217674 0.5273222
#> 4 no_detect_set        b   nord 0.9876818 0.008127505 0.9689548 0.9704702
#> 5 no_detect_set        b  south 0.9595806 0.008070294 0.9436892 0.9451144
#> 6 no_detect_set        b   east 0.9662474 0.021797533 0.9178876 0.9206527
#>         25%       50%       75%     97.5%       Max  nsv Na's
#> 1 0.3598580 0.3781741 0.3937419 0.4079509 0.4094379 1001    0
#> 2 0.2385760 0.3028764 0.3542631 0.3969421 0.4006327 1001    0
#> 3 0.5698115 0.6092900 0.6485206 0.6760604 0.6793099 1001    0
#> 4 0.9811569 0.9897127 0.9950965 0.9972534 0.9975523 1001    0
#> 5 0.9525956 0.9604710 0.9669946 0.9712650 0.9717392 1001    0
#> 6 0.9503279 0.9720802 0.9855547 0.9917462 0.9921450 1001    0