dreamer_data {dreamer}R Documentation

Generate Data from Dose Response Models

Description

See the model definitions below for specifics for each model.

Usage

dreamer_data_linear(
  n_cohorts,
  doses,
  b1,
  b2,
  sigma,
  times,
  t_max,
  longitudinal = NULL,
  ...
)

dreamer_data_linear_binary(
  n_cohorts,
  doses,
  b1,
  b2,
  link,
  times,
  t_max,
  longitudinal = NULL,
  ...
)

dreamer_data_quad(
  n_cohorts,
  doses,
  b1,
  b2,
  b3,
  sigma,
  times,
  t_max,
  longitudinal = NULL,
  ...
)

dreamer_data_quad_binary(
  n_cohorts,
  doses,
  b1,
  b2,
  b3,
  link,
  times,
  t_max,
  longitudinal = NULL,
  ...
)

dreamer_data_loglinear(
  n_cohorts,
  doses,
  b1,
  b2,
  sigma,
  times,
  t_max,
  longitudinal = NULL,
  ...
)

dreamer_data_loglinear_binary(
  n_cohorts,
  doses,
  b1,
  b2,
  link,
  times,
  t_max,
  longitudinal = NULL,
  ...
)

dreamer_data_logquad(
  n_cohorts,
  doses,
  b1,
  b2,
  b3,
  sigma,
  times,
  t_max,
  longitudinal = NULL,
  ...
)

dreamer_data_logquad_binary(
  n_cohorts,
  doses,
  b1,
  b2,
  b3,
  link,
  times,
  t_max,
  longitudinal = NULL,
  ...
)

dreamer_data_emax(
  n_cohorts,
  doses,
  b1,
  b2,
  b3,
  b4,
  sigma,
  times,
  t_max,
  longitudinal = NULL,
  ...
)

dreamer_data_emax_binary(
  n_cohorts,
  doses,
  b1,
  b2,
  b3,
  b4,
  link,
  times,
  t_max,
  longitudinal = NULL,
  ...
)

dreamer_data_exp(
  n_cohorts,
  doses,
  b1,
  b2,
  b3,
  sigma,
  times,
  t_max,
  longitudinal = NULL,
  ...
)

dreamer_data_exp_binary(
  n_cohorts,
  doses,
  b1,
  b2,
  b3,
  link,
  times,
  t_max,
  longitudinal = NULL,
  ...
)

dreamer_data_beta(
  n_cohorts,
  doses,
  b1,
  b2,
  b3,
  b4,
  scale,
  sigma,
  times,
  t_max,
  longitudinal = NULL,
  ...
)

dreamer_data_beta_binary(
  n_cohorts,
  doses,
  b1,
  b2,
  b3,
  b4,
  scale,
  link,
  times,
  t_max,
  longitudinal = NULL,
  ...
)

dreamer_data_independent(
  n_cohorts,
  doses,
  b1,
  sigma,
  times,
  t_max,
  longitudinal = NULL,
  ...
)

dreamer_data_independent_binary(
  n_cohorts,
  doses,
  b1,
  link,
  times,
  t_max,
  longitudinal = NULL,
  ...
)

Arguments

n_cohorts

a vector listing the size of each cohort.

doses

a vector listing the dose for each cohort.

b1, b2, b3, b4

parameters in the models. See sections below for each parameter's interpretation in a given model.

sigma

standard deviation.

times

the times at which data should be simulated if a longitudinal model is specified.

t_max

the t_max parameter used in the longitudinal model.

longitudinal

a string indicating the longitudinal model to be used. Can be "linear", "itp", or "idp".

...

additional longitudinal parameters.

link

character vector indicating the link function for binary models.

scale

a scaling parameter (fixed, specified by the user) for the beta models.

Value

A dataframe of random subjects from the specified model and parameters.

Functions

Linear

y \sim N(f(d), \sigma^2)

f(d) = b_1 + b_2 * d

b_1 \sim N(mu_b1, sigma_b1 ^ 2)

b_2 \sim N(mu_b2, sigma_b2 ^ 2)

1 / \sigma^2 \sim Gamma(shape, rate)

Quadratic

y \sim N(f(d), \sigma^2)

f(d) = b_1 + b_2 * d + b_3 * d^2

b_1 \sim N(mu_b1, sigma_b1 ^ 2)

b_2 \sim N(mu_b2, sigma_b2 ^ 2)

b_3 \sim N(mu_b3, sigma_b3 ^ 2)

1 / \sigma^2 \sim Gamma(shape, rate)

Log-linear

y \sim N(f(d), \sigma^2)

f(d) = b_1 + b_2 * log(d + 1)

b_1 \sim N(mu_b1, sigma_b1 ^ 2)

b_2 \sim N(mu_b2, sigma_b2 ^ 2)

1 / \sigma^2 \sim Gamma(shape, rate)

Log-quadratic

y \sim N(f(d), \sigma^2)

f(d) = b_1 + b_2 * log(d + 1) + b_3 * log(d + 1)^2

b_1 \sim N(mu_b1, sigma_b1 ^ 2)

b_2 \sim N(mu_b2, sigma_b2 ^ 2)

b_3 \sim N(mu_b3, sigma_b3 ^ 2)

1 / \sigma^2 \sim Gamma(shape, rate)

EMAX

y \sim N(f(d), \sigma^2)

f(d) = b_1 + (b_2 - b_1) * d ^ b_4 / (exp(b_3 * b_4) + d ^ b_4)

b_1 \sim N(mu_b1, sigma_b1 ^ 2)

b_2 \sim N(mu_b2, sigma_b2 ^ 2)

b_3 \sim N(mu_b3, sigma_b3 ^ 2)

b_4 \sim N(mu_b4, sigma_b4 ^ 2), (Truncated above 0)

1 / \sigma^2 \sim Gamma(shape, rate)

Here, b_1 is the placebo effect (dose = 0), b_2 is the maximum treatment effect, b_3 is the log(ED50), and b_4 is the hill or rate parameter.

Exponential

y \sim N(f(d), \sigma^2)

f(d) = b_1 + b_2 * (1 - exp(- b_3 * d))

b_1 \sim N(mu_b1, sigma_b1 ^ 2)

b_2 \sim N(mu_b2, sigma_b2 ^ 2)

b_3 \sim N(mu_b3, sigma_b3 ^ 2), (truncated to be positive)

1 / \sigma^2 \sim Gamma(shape, rate)

Linear Binary

y \sim Binomial(n, f(d))

link(f(d)) = b_1 + b_2 * d

b_1 \sim N(mu_b1, sigma_b1 ^ 2)

b_2 \sim N(mu_b2, sigma_b2 ^ 2)

Quadratic Binary

y \sim Binomial(n, f(d))

link(f(d)) = b_1 + b_2 * d + b_3 * d^2

b_1 \sim N(mu_b1, sigma_b1 ^ 2)

b_2 \sim N(mu_b2, sigma_b2 ^ 2)

b_3 \sim N(mu_b3, sigma_b3 ^ 2)

Log-linear Binary

y \sim Binomial(n, f(d))

link(f(d)) = b_1 + b_2 * log(d + 1)

b_1 \sim N(mu_b1, sigma_b1 ^ 2)

b_2 \sim N(mu_b2, sigma_b2 ^ 2)

Log-quadratic Binary

y \sim Binomial(n, f(d))

link(f(d)) = b_1 + b_2 * log(d + 1) + b_3 * log(d + 1)^2

b_1 \sim N(mu_b1, sigma_b1 ^ 2)

b_2 \sim N(mu_b2, sigma_b2 ^ 2)

b_3 \sim N(mu_b3, sigma_b3 ^ 2)

EMAX Binary

y \sim Binomial(n, f(d))

link(f(d)) = b_1 + (b_2 - b_1) * d ^ b_4 / (exp(b_3 * b_4) + d ^ b_4)

b_1 \sim N(mu_b1, sigma_b1 ^ 2)

b_2 \sim N(mu_b2, sigma_b2 ^ 2)

b_3 \sim N(mu_b3, sigma_b3 ^ 2)

b_4 \sim N(mu_b4, sigma_b4 ^ 2), (Truncated above 0)

Here, on the link(f(d)) scale, b_1 is the placebo effect (dose = 0), b_2 is the maximum treatment effect, b_3 is the log(ED50), and b_4 is the hill or rate parameter.

Exponential Binary

y \sim Binomial(n, f(d))

link(f(d)) = b_1 + b_2 * (exp(b_3 * d) - 1)

b_1 \sim N(mu_b1, sigma_b1 ^ 2)

b_2 \sim N(mu_b2, sigma_b2 ^ 2)

b_3 \sim N(mu_b3, sigma_b3 ^ 2), (Truncated below 0)

Independent

y \sim N(f(d), \sigma^2)

f(d) = b_{1d}

b_{1d} \sim N(mu_b1[d], sigma_b1[d] ^ 2)

1 / \sigma^2 \sim Gamma(shape, rate)

Independent Binary

y \sim Binomial(n, f(d))

link(f(d)) = b_{1d}

b_{1d} \sim N(mu_b1[d], sigma_b1[d]) ^ 2

Longitudinal Linear

Let f(d) be a dose response model. The expected value of the response, y, is:

E(y) = g(d, t)

g(d, t) = a + (t / t_max) * f(d)

a \sim N(mu_a, sigma_a)

Longitudinal ITP

Let f(d) be a dose response model. The expected value of the response, y, is:

E(y) = g(d, t)

g(d, t) = a + f(d) * ((1 - exp(- c1 * t))/(1 - exp(- c1 * t_max)))

a \sim N(mu_a, sigma_a)

c1 \sim Uniform(a_c1, b_c1)

Longitudinal IDP

Increasing-Decreasing-Plateau (IDP).

Let f(d) be a dose response model. The expected value of the response, y, is:

E(y) = g(d, t)

g(d, t) = a + f(d) * (((1 - exp(- c1 * t))/(1 - exp(- c1 * d1))) * I(t < d1) + (1 - gam * ((1 - exp(- c2 * (t - d1))) / (1 - exp(- c2 * (d2 - d1))))) * I(d1 <= t <= d2) + (1 - gam) * I(t > d2))

a \sim N(mu_a, sigma_a)

c1 \sim Uniform(a_c1, b_c1)

c2 \sim Uniform(a_c2, b_c2)

d1 \sim Uniform(0, t_max)

d2 \sim Uniform(d1, t_max)

gam \sim Uniform(0, 1)

Examples

set.seed(888)
data <- dreamer_data_linear(
  n_cohorts = c(20, 20, 20),
  dose = c(0, 3, 10),
  b1 = 1,
  b2 = 3,
  sigma = 5
)

head(data)

plot(data$dose, data$response)
abline(a = 1, b = 3)

# longitudinal data
set.seed(889)
data_long <- dreamer_data_linear(
  n_cohorts = c(10, 10, 10, 10), # number of subjects in each cohort
  doses = c(.25, .5, .75, 1.5), # dose administered to each cohort
  b1 = 0, # intercept
  b2 = 2, # slope
  sigma = .5, # standard deviation,
  longitudinal = "itp",
  times = c(0, 12, 24, 52),
  t_max = 52, # maximum time
  a = .5,
  c1 = .1
)

## Not run: 
  ggplot(data_long, aes(time, response, group = dose, color = factor(dose))) +
    geom_point()

## End(Not run)

[Package dreamer version 3.1.0 Index]