TMB_template: Make model template to be compiled and return data list

Description Usage Arguments Examples

View source: R/TMB.R

Description

Make model template to be compiled and return data list

Usage

1
TMB_template(formula, start, links = NULL, data = NULL, parameters = NULL)

Arguments

formula

A formula in expression form of "y ~ model"

start

A list of initial values for the parameters

links

link function and the model parameter

data

A list of parameter in the formula with values in vectors

parameters

A list of linear submodels and random effects

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
## submodel examples
set.seed(101)
rfp <- transform(emdbook::ReedfrogPred, nsize = as.numeric(size), random = rnorm(48))
form <- surv ~ dbinom(size = density, prob = exp(log_a) / (1 + exp(log_a) * h * density))
start <- list(h = 1, log_a = c(2, 0))
links <- list(a = "log")
parameters <- list(log_a ~ poly(random))
TMB_template(form, start = start, links = links, parameters = parameters, data = rfp)
## RE example with simulate data
rfpsim <- expand.grid(density = 1:20, block = factor(1:20))
true_logit_a <- -1
true_log_h <- -1
true_logit_a_sd <- 0.3 ## log(0.3) = -1.20
set.seed(101)
logit_a_blk <- rnorm(20, mean = true_logit_a, sd = true_logit_a_sd)
a <- plogis(logit_a_blk[rfpsim$block])
prob <- a / (1 + a * exp(true_log_h) * rfpsim$density)
rfpsim$killed <- rbinom(nrow(rfpsim), size = rfpsim$density, prob = prob)
form <- killed ~ dbinom(size = density,
    prob = plogis(logit_a) / (1 + plogis(logit_a) * exp(log_h) * density))
parameters <- list(logit_a ~ 1 + (1 | block))
links <- list(a = "logit", h = "log")
start <- list(logit_a = c(0), log_h = 0)
TMB_template(form, start = start, links = links, parameters = parameters, data = rfpsim)

queezzz/qzmle documentation built on Nov. 24, 2021, 6:34 p.m.