-
-
Notifications
You must be signed in to change notification settings - Fork 23
/
README.Rmd
123 lines (99 loc) · 5.26 KB
/
README.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
---
output: github_document
---
<!-- markdownlint-disable-file -->
<!-- README.md needs to be generated from README.Rmd. Please edit that file -->
# mmrm <img src="man/figures/logo.svg" align="right" width="175" />
```{r, echo = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "README-"
)
```
<!-- badges: start -->
[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)
[![CRAN status](https://www.r-pkg.org/badges/version-last-release/mmrm)](https://www.r-pkg.org/badges/version-last-release/mmrm)
[![CRAN monthly downloads](https://cranlogs.r-pkg.org/badges/mmrm)](https://cranlogs.r-pkg.org/badges/mmrm)
[![CRAN total downloads](https://cranlogs.r-pkg.org/badges/grand-total/mmrm)](https://cranlogs.r-pkg.org/badges/grand-total/mmrm)
[![Code Coverage](https://raw.githubusercontent.com/openpharma/mmrm/_xml_coverage_reports/data/main/badge.svg)](https://openpharma.github.io/mmrm/latest-tag/coverage-report/)
<!-- badges: end -->
\
Mixed models for repeated measures (MMRM) are a popular
choice for analyzing longitudinal continuous outcomes in randomized
clinical trials and beyond; see
[Cnaan, Laird and Slasor (1997)](https://doi.org/10.1002%2f%28SICI%291097-0258%2819971030%2916%3a20%3c2349%3a%3aAID-SIM667%3e3.0.CO%3b2-E)
for a tutorial and
[Mallinckrodt, Lane and Schnell (2008)](https://doi.org/10.1177/009286150804200402)
for a review. This package implements
MMRM based on the marginal linear model without random effects using
Template Model Builder (`TMB`) which enables fast and robust model
fitting. Users can specify a variety of covariance matrices, weight
observations, fit models with restricted or standard maximum
likelihood inference, perform hypothesis testing with Satterthwaite
or Kenward-Roger adjustment, and extract least
square means estimates by using `emmeans`.
**Scope:**
* Continuous responses with normal (but potentially heteroscedastic) residuals.
* Marginal linear models (no individual-level random effects).
**Main Features:**
* Flexible covariance specification:
* [Structures](https://openpharma.github.io/mmrm/main/articles/covariance.html): unstructured, Toeplitz, AR1, compound symmetry, ante-dependence, and spatial exponential.
* Groups: shared covariance structure for all subjects or group-specific
covariance estimates.
* Variances: homogeneous or heterogeneous across time points.
* Inference:
* Supports REML and ML.
* Supports weights.
* Hypothesis testing:
* [Least square means](https://openpharma.github.io/mmrm/main/reference/emmeans_support.html):
can be obtained with the `emmeans` package
* One- and multi-dimensional linear contrasts of model parameters can be tested.
* [Satterthwaite](https://openpharma.github.io/mmrm/main/articles/satterthwaite.html)
adjusted degrees of freedom.
* [Kenward-Roger](https://openpharma.github.io/mmrm/main/articles/kenward.html)
adjusted degrees of freedom and coefficients covariance matrix.
* [Coefficient Covariance](https://openpharma.github.io/mmrm/main/articles/coef_vcov.html)
* `C++` backend:
* Fast implementation using `C++` and automatic differentiation to
obtain precise gradient information for model fitting.
* Model fitting algorithm [details](https://openpharma.github.io/mmrm/main/articles/algorithm.html) used in `mmrm`.
* Package ecosystems integration:
* Integration with [tidymodels](https://www.tidymodels.org/) package ecosystem
* Dedicated [parsnip](https://parsnip.tidymodels.org/) engine for linear regression
* Integration with [recipes](https://recipes.tidymodels.org/)
* Integration with [tern](https://insightsengineering.github.io/tern/) package ecosystems
* The [tern.mmrm](https://insightsengineering.github.io/tern.mmrm/) package can be used to run the `mmrm` fit and generate tabulation and plots of least square means per visit and treatment arm, tabulation of model diagnostics, diagnostic graphs, and other standard model outputs.
## Installation
### Release
You can install the current release version from *CRAN* with:
```{r cran-installation, eval = FALSE}
install.packages("mmrm")
```
### Development
You can install the current development version from *R-Universe* with:
```{r ru-installation, eval = FALSE}
install.packages(
"mmrm",
repos = c("https://openpharma.r-universe.dev", "https://cloud.r-project.org")
)
```
This is preferred, because for Windows and MacOS systems you can install
pre-compiled binary versions of the packages, avoiding the need for compilation.
Alternatively, you can install the current development version from
*GitHub* with:
```{r gh-installation, eval = FALSE}
if (!require("remotes")) {
install.packages("remotes")
}
remotes::install_github("openpharma/mmrm")
```
Note that this installation from source can take a substantial amount of time,
because compilation of the `C++` sources is required.
## Getting Started
See also the [introductory vignette](https://openpharma.github.io/mmrm/main/articles/introduction.html)
or get started by trying out the example:
```{r, child='vignettes/subsections/_intro-getting_started.Rmd'}
```
## Citing `mmrm`
To cite `mmrm` please see [here](https://openpharma.github.io/mmrm/main/authors.html#citation).