Fit gastric emptying curves with Stan

## Usage

```
stan_gastempt(
d,
model_name = "linexp_gastro_2b",
lkj = 2,
student_df = 5L,
init_r = 0.2,
chains = 1,
iter = 2000,
...
)
```

## Arguments

- d
A data frame with columns

`rec`

Record descriptor as grouping variable, e.g. patient ID`minute`

Time after meal or start of recording.`vol`

Volume of meal or stomach

- model_name
Name of predefined model in

`gastempt/exec`

. Use`stan_model_names()`

to get a list of available models.- lkj
LKJ prior for kappa/tempt correlation, only required for model linexp_gastro_2b. Values from 1.5 (strong correlation) to 50 (almost independent) are useful.

- student_df
Student-t degrees of freedom for residual error; default 5. Use 3 for strong outliers; values above 10 are close to gaussian residual distribution.

- init_r
for stan, default = 0.2; Stan's own default is 2, which often results in stuck chains.

- chains
for stan; default = 1

- iter
A positive integer specifying the number of iterations for each chain (including warmup). The default is 2000.

- ...
Additional parameter passed to

`sampling`

and`stan`

## Value

A list of class stan_gastempt with elements `coef, fit, plot`

`coef`

is a data frame with columns:`rec`

Record descriptor, e.g. patient ID`v0`

Initial volume at t=0`tempt`

Emptying time constant`kappa`

Parameter`kappa`

for`model = linexp`

`beta`

Parameter`beta`

for`model = powexp`

`t50`

Half-time of emptying`slope_t50`

Slope in t50; typically in units of ml/minute On error,`coef`

is NULL

`fit`

Result of class `stanfit``plot`

A ggplot graph of data and prediction. Plot of raw data is returned even when convergence was not achieved.

## Examples

```
# \donttest{
# Runs 30+ seconds on CRAN
dd = simulate_gastempt(n_records = 6, seed = 471)
d = dd$data
ret = stan_gastempt(d)
print(ret$coef)
#> # A tibble: 6 × 7
#> record v0 kappa tempt t50 slope_t50 auc
#> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 rec_01 285. 0.471 68.8 76.8 1.43 28908.
#> 2 rec_02 429. 0.612 78.7 76.8 1.43 28908.
#> 3 rec_03 408. 0.403 77.2 76.8 1.43 28908.
#> 4 rec_04 367. 0.845 77.9 76.8 1.43 28908.
#> 5 rec_05 428. 0.181 60.9 76.8 1.43 28908.
#> 6 rec_06 472. 0.226 65.4 76.8 1.43 28908.
# }
```