Generate Stan code for brms models

```
make_stancode(formula, data, family = gaussian(), prior = NULL,
autocor = NULL, nonlinear = NULL, threshold = c("flexible",
"equidistant"), sparse = FALSE, cov_ranef = NULL, sample_prior = c("no",
"yes", "only"), stan_funs = NULL, save_model = NULL, silent = FALSE,
...)
```

formula

An object of class
`formula`

or
`brmsformula`

(or one that can be coerced to that classes):
A symbolic description of the model to be fitted.
The details of model specification are explained in
`brmsformula`

.

data

An object of class `data.frame`

(or one that can be coerced to that class)
containing data of all variables used in the model.

family

A description of the response distribution and link function
to be used in the model. This can be a family function,
a call to a family function or a character string naming the family.
Every family function has a `link`

argument allowing to specify
the link function to be applied on the response variable.
If not specified, default links are used.
For details of supported families see
`brmsfamily`

.
By default, a linear `gaussian`

model is applied.

prior

autocor

nonlinear

(Deprecated) An optional list of formulas, specifying
linear models for non-linear parameters. If `NULL`

(the default)
`formula`

is treated as an ordinary formula.
If not `NULL`

, `formula`

is treated as a non-linear model
and `nonlinear`

should contain a formula for each non-linear
parameter, which has the parameter on the left hand side and its
linear predictor on the right hand side.
Alternatively, it can be a single formula with all non-linear
parameters on the left hand side (separated by a `+`

) and a
common linear predictor on the right hand side.
As of brms 1.4.0, we recommend specifying non-linear
parameters directly within `formula`

.

threshold

(Deprecated) A character string indicating the type
of thresholds (i.e. intercepts) used in an ordinal model.
`"flexible"`

provides the standard unstructured thresholds and
`"equidistant"`

restricts the distance between
consecutive thresholds to the same value.
As of brms 1.8.0, we recommend specifying threshold
directly within the ordinal family functions.

sparse

Logical; indicates whether the population-level
design matrix should be treated as sparse (defaults to `FALSE`

).
For design matrices with many zeros, this can considerably
reduce required memory. Sampling speed is currently not
improved or even slightly decreased.

cov_ranef

A list of matrices that are proportional to the
(within) covariance structure of the group-level effects.
The names of the matrices should correspond to columns
in `data`

that are used as grouping factors.
All levels of the grouping factor should appear as rownames
of the corresponding matrix. This argument can be used,
among others to model pedigrees and phylogenetic effects.
See `vignette("brms_phylogenetics")`

for more details.

sample_prior

Indicate if samples from all specified
proper priors should be drawn additionally to the posterior samples
(defaults to `"no"`

). Among others, these samples can be used
to calculate Bayes factors for point hypotheses.
If set to `"only"`

, samples are drawn solely from
the priors ignoring the likelihood. In this case,
all parameters must have proper priors.

stan_funs

An optional character string containing self-defined
Stan functions, which will be included in the functions block
of the generated Stan code.
Note that these functions must additionally be defined
as *vectorized* R functions in the global environment for
various post-processing methods to work on the returned model object.

save_model

Either `NULL`

or a character string.
In the latter case, the model code is
saved in a file named after the string supplied in `save_model`

,
which may also contain the full path where to save the file.
If only a name is given, the file is saved in the current working directory.

silent

logical; If `TRUE`

, warnings of
the Stan parser will be suppressed.

...

Other arguments for internal usage only

A character string containing the fully commented Stan code to fit a brms model.

```
# NOT RUN {
make_stancode(rating ~ treat + period + carry + (1|subject),
data = inhaler, family = "cumulative")
make_stancode(count ~ log_Age_c + log_Base4_c * Trt_c
+ (1|patient) + (1|visit),
data = epilepsy, family = "poisson")
# }
```

Run the code above in your browser using DataCamp Workspace