Dieter Menne

Menne Biomed Consulting Tübingen, Germany

http://www.menne-biomed.de

dieter.menne@menne-biomed.de

- Online reference, examples with images and vignettes.
- To test some of the functions with sample data or your own data, try the online demo.
- Issues can be reported here.

This is a reboot of R package dmenne/d13cbreath which is partially obsolete.

- Reads several file formats of
^{13}C data: IRIS/Wagner (composite and CSV), BreathID and generic CSV - Fits Beta-Exponential nonlinear curve fits using
`nls`

, which gives successful estimates for 90% of PDR curves - Computes population fits with
`nlme`

when data from multiple recordings are available, resulting in much more reliable estimates for studies. - Computes prior-constrained Bayesian non-linear fit for single records (refactored to package dmenne/breathteststan)
- Computes Bayesian non-linear population fit with Stan for multiple records (refactored to package dmenne/breathteststan)
- Includes an extensive data set of
^{13}C records from the University Hospital of Zürich

- A comparison of results with nls, nlme and Bayesian Stan.
- See the example in the documentation of
`t50BluckCoward`

for a comparison with published data. Most cases agree with those published here, but there are some exceptions?

The software is being developed in cooperation with the Department of Gastroenterology of the University Hospital of Zürich and Claraspital Basel. Thanks to Benjamin Misselwitz, Mark Fox and Werner Schwizer. And special thanks to Andreas Steingötter for constantly reminding me that better statistics does necessarily make a method physiologically relevant.

To install the functions, use

```
devtools::install_github("breathtestcore","dmenne")
# In case you want to use the fancy Stan-based methodes
devtools::install_github("breathteststan","dmenne")
# And here the still rudimentary web GUI
devtools::install_github("breathtestshiny","dmenne")
```

This example is from the documentation of function nlme_fit.

```
library(breathtestcore)
d = simulate_breathtest_data(n_records = 3, noise = 0.2, seed = 4711)
data = cleanup_data(d$data)
fit = nlme_fit(data)
plot(fit) # calls plot.breathtestfit
```

For additional examples, see the folder `tests/testthat`

of the source package.

The core fitting functions and the Stan variants are quite stable and can be used to analyze your breath test data with R. For the Stan variants, additional models that give credible intervals for differences between groups are planned. The Shiny web app with reporting is work in progress; online demo, source code.

**Reference**:

Ghoos, Y. F., B. D. Maes, B. J. Geypens, G. Mys, M. I. Hiele, P. J. Rutgeerts, and G. Vantrappen. 1993. “Measurement of Gastric Emptying Rate of Solids by Means of a Carbon-Labeled Octanoic Acid Breath Test.”

*Gastroenterology*104 (6). Department of Medicine, University Hospital Gasthuisberg, Belgium.: 1640–7.Maes, B. D., B. J. Geypens, Y. F. Ghoos, M. I. Hiele, and P. J. Rutgeerts. 1998. “

^{13}C-Octanoic Acid Breath Test for Gastric Emptying Rate of Solids.”*Gastroenterology*114 (4): 856–59.Bluck LJC (2009) Recent advances in the interpretation of the

^{13}C octanoate breath test for gastric emptying. J. Breath Res. 3, http://iopscience.iop.org/1752-7163/3/3/034002/Bluck, LJC, Jackson S, Vlasakakis G, Mander A (2011) Bayesian hierarchical methods to interpret the

^{13}C-octanoic acid breath test for gastric emptying. Digestion 83_96-107.