Skip to contents

Implements several approaches to imputing higher resolution outcomes, then tables them up for convenient plotting.

Usage

distill_summary(model_outcomes_dt, alembic_dt)

Arguments

model_outcomes_dt

a data.table (or convertable to such) with columns model_from and value

alembic_dt

an alembic() return value

Value

a data.table, columns:

  • partition, the feature point corresponding to the value

  • value, the translated model_outcomes_dt$value

  • method, a factor with levels indicating how feature points are selected, and how value is weighted to those features:

    • f_mid: features at the alembic_dt outcome partitions, each with value corresponding to the total value of the corresponding model partition, divided by the number of outcome partitions in that model partition

    • f_mean: ...

    • mean_f: ...

    • wm_f: the

Examples

library(data.table)
f_param <- function(age_in_years) {
  (10^(-3.27 + 0.0524 * age_in_years))/100
}

model_partition <- c(0, 5, 20, 65, 101)
density_dt <- data.table(
  from = 0:100, weight = c(rep(1, 66), exp(-0.075 * 1:35))
)
alembic_dt <- alembic(
  f_param, density_dt, model_partition, seq(0, 101, by = 1L)
)

# for simplicity, assume a uniform force-of-infection across ages =>
# infections proportion to population density.
model_outcomes_dt <- density_dt[, .(value = sum(f_param(from) * weight)),
  by = .(model_from = model_partition[findInterval(from, model_partition)])
]

ds_dt <- distill_summary(model_outcomes_dt, alembic_dt)