Helper functions to specify linear and non-linear
formulas for use with brmsformula.
nlf(formula, ..., flist = NULL, dpar = NULL, resp = NULL)lf(..., flist = NULL, dpar = NULL, resp = NULL)
set_nl(nl = TRUE, dpar = NULL, resp = NULL)
set_rescor(rescor = TRUE)
Non-linear formula for a distributional parameter.
The name of the distributional parameter can either be specified
on the left-hand side of formula or via argument dpar.
Additional formula objects to specify 
predictors of non-linear and distributional parameters. 
Formulas can either be named directly or contain
names on their left-hand side. 
The following are distributional parameters of specific families
(all other parameters are treated as non-linear parameters):
sigma (residual standard deviation or scale of
the gaussian, student, skew_normal, 
lognormal exgaussian, and asym_laplace families);
shape (shape parameter of the Gamma,
weibull, negbinomial, and related
zero-inflated / hurdle families); nu (degrees of freedom 
parameter of the student and frechet families);
phi (precision parameter of the beta 
and zero_inflated_beta families);
kappa (precision parameter of the von_mises family);
beta (mean parameter of the exponential component
of the exgaussian family);
quantile (quantile parameter of the asym_laplace family);
zi (zero-inflation probability); 
hu (hurdle probability);
zoi (zero-one-inflation probability);
coi (conditional one-inflation probability);
disc (discrimination) for ordinal models;
bs, ndt, and bias (boundary separation,
non-decision time, and initial bias of the wiener
diffusion model).
By default, distributional parameters are modeled 
on the log scale if they can be positive only or on the 
logit scale if the can only be within the unit interval.
See 'Details' for more explanation.
Optional list of formulas, which are treated in the 
same way as formulas passed via the ... argument.
Optional character string specifying the distributional 
parameter to which the formulas passed via ... and
flist belong.
Optional character string specifying the response 
variable to which the formulas passed via ... and
flist belong. Only relevant in multivariate models.
Logical; Indicates whether formula should be
treated as specifying a non-linear model. By default, formula 
is treated as an ordinary linear model formula.
Logical; Indicates if residual correlation between
the response variables should be modeled. Currently this is only
possible in multivariate gaussian and student models.
Only relevant in multivariate models.
For lf and nlf a list that can be 
  passed to brmsformula or added 
  to an existing brmsformula or mvbrmsformula object. 
  For set_nl and set_rescor a logical value that can be 
  added to an existing brmsformula or mvbrmsformula object.
# NOT RUN {
# add more formulas to the model
bf(y ~ 1) + 
  nlf(sigma ~ a * exp(b * x), a ~ x) + 
  lf(b ~ z + (1|g), dpar = "sigma") +
  gaussian()
# specify 'nl' later on
bf(y ~ a * inv_logit(x * b)) +
  lf(a + b ~ z) +
  set_nl(TRUE)
  
# specify a multivariate model
bf(y1 ~ x + (1|g)) + 
  bf(y2 ~ z) +
  set_rescor(TRUE)
# }
Run the code above in your browser using DataLab