diff --git a/DESCRIPTION b/DESCRIPTION index 8871956a3..be3150575 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,9 +1,10 @@ Type: Package Package: mmrm Title: Mixed Models for Repeated Measures -Version: 0.3.12.9003 +Version: 0.3.13 Authors@R: c( - person("Daniel", "Sabanes Bove", , "daniel.sabanes_bove@rconis.com", role = c("aut", "cre")), + person("Daniel", "Sabanes Bove", , "daniel.sabanes_bove@rconis.com", role = c("aut", "cre"), + comment = c(ORCID = "0000-0002-0176-9239")), person("Liming", "Li", , "liming.li@roche.com", role = "aut"), person("Julia", "Dedic", , "julia.dedic@roche.com", role = "aut"), person("Doug", "Kelkhoff", , "doug.kelkhoff@roche.com", role = "aut"), @@ -21,7 +22,8 @@ Authors@R: c( person("Gilead Sciences, Inc.", role = c("cph", "fnd")), person("F. Hoffmann-La Roche AG", role = c("cph", "fnd")), person("Merck Sharp & Dohme, Inc.", role = c("cph", "fnd")), - person("AstraZeneca plc", role = c("cph", "fnd")) + person("AstraZeneca plc", role = c("cph", "fnd")), + person("inferential.biostatistics GmbH", role = c("cph", "fnd")) ) Description: Mixed models for repeated measures (MMRM) are a popular choice for analyzing longitudinal continuous outcomes in randomized diff --git a/NAMESPACE b/NAMESPACE index 1d709541b..2ca15e10a 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -44,19 +44,15 @@ export(refit_multiple_optimizers) export(std_start) export(tidy) import(checkmate) -importFrom(Matrix,.bdiag) importFrom(Rcpp,evalCpp) importFrom(Rdpack,reprompt) importFrom(generics,augment) importFrom(generics,glance) importFrom(generics,tidy) -importFrom(lifecycle,deprecated) importFrom(methods,is) importFrom(nlme,VarCorr) -importFrom(parallel,clusterApply) importFrom(stats,AIC) importFrom(stats,BIC) -importFrom(stats,acf) importFrom(stats,coef) importFrom(stats,deviance) importFrom(stats,drop.terms) @@ -69,7 +65,4 @@ importFrom(stats,residuals) importFrom(stats,simulate) importFrom(stats,terms) importFrom(stats,vcov) -importFrom(stringr,boundary) -importFrom(tibble,as_tibble) -importFrom(utils,modifyList) useDynLib(mmrm, .registration = TRUE) diff --git a/NEWS.md b/NEWS.md index e47bbfccf..dd2a00c1d 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,21 +1,21 @@ -# mmrm 0.3.12.9003 +# mmrm 0.3.13 ### Bug Fixes -- Previously `emmeans` will return `NA` for spatial covariance structure. This is fixed now. -- Previously `car::Anova` will give incorrect results if an interaction term is included and the order of the covariate of interest is not the first categorical variable. This is fixed now. -- Previously `car::Anova` will fail if the model does not contain intercept. This is fixed now. -- Previously, `mmrm` will ignore contrasts defined for covariates in the input data set. This is fixed now. -- Previously, `predict` will always require the response to be valid, even for unconditional predictions. This is fixed now and unconditional prediction do not require the response to be valid anymore. - When running with `TMB` package versions below 1.9.15, MMRM fit results are not completely reproducible. While this may not be relevant for most applications, because the numerical differences are very small, we now issue a warning to the user if this is the case. We advise users to upgrade their `TMB` package versions to 1.9.15 or higher to ensure reproducibility. +- Previously, `mmrm` ignored contrasts defined for covariates in the input data set. This is fixed now. +- Previously, `predict` always required the response to be valid, even for unconditional predictions. This is fixed now and unconditional prediction does not require the response to be valid or present any longer. +- `model.frame` has been updated to ensure that the `na.action` works correctly. +- Previously `emmeans::emmeans` returned `NA` for spatial covariance structures. This is fixed now. +- Previously `car::Anova` gave incorrect results if an interaction term is included and the covariate of interest was not the first categorical variable. This is fixed now. +- Previously `car::Anova` failed if the model did not contain an intercept. This is fixed now. ### Miscellaneous - Upon fitting an MMRM, it is checked whether a not reproducible optimization feature of `TMB` is turned on. If so, a warning is issued to the user once per session. -- `model.matrix` is updated to ensure that the `NA` values are dropped. Additionally, an argument `use_response` is added to decide whether records with `NA` values in the response should be discarded. -- `model.frame` is updated to ensure that the `na.action` works. -- `predict` is updated to allow duplicated subject IDs for unconditional prediction. - `mmrm` now checks on the positive definiteness of the covariance matrix `theta_vcov`. If it is not positive definite, non-convergence is messaged appropriately. +- `model.matrix` has been updated to ensure that the `NA` values are dropped. Additionally, an argument `use_response` is added to decide whether records with `NA` values in the response should be discarded. +- `predict` has been updated to allow duplicated subject IDs for unconditional prediction. # mmrm 0.3.12 diff --git a/R/component.R b/R/component.R index 57ccc42f3..b8cebfc89 100644 --- a/R/component.R +++ b/R/component.R @@ -1,6 +1,6 @@ #' Component Access for `mmrm_tmb` Objects #' -#' @description `r lifecycle::badge("experimental")` +#' @description `r lifecycle::badge("stable")` #' #' @param object (`mmrm_tmb`)\cr the fitted MMRM. #' @param name (`character`)\cr the component(s) to be retrieved. diff --git a/R/cov_struct.R b/R/cov_struct.R index 40973628c..46fb62618 100644 --- a/R/cov_struct.R +++ b/R/cov_struct.R @@ -47,7 +47,7 @@ COV_TYPES <- local({ # nolint #' Covariance Types #' -#' @description `r lifecycle::badge("maturing")` +#' @description `r lifecycle::badge("stable")` #' #' @param form (`character`)\cr covariance structure type name form. One or #' more of `"name"`, `"abbr"` (abbreviation), or `"habbr"` (heterogeneous @@ -207,7 +207,7 @@ tmb_cov_type <- function(cov) { #' Define a Covariance Structure #' -#' @description `r lifecycle::badge("maturing")` +#' @description `r lifecycle::badge("stable")` #' #' @param type (`string`)\cr the name of the covariance structure type to use. #' For available options, see `cov_types()`. If a type abbreviation is used @@ -359,7 +359,7 @@ print.cov_struct <- function(x, ...) { #' Coerce into a Covariance Structure Definition #' -#' @description `r lifecycle::badge("maturing")` +#' @description `r lifecycle::badge("stable")` #' #' @details #' A covariance structure can be parsed from a model definition formula or call. diff --git a/R/data.R b/R/data.R index c339cdcf1..a76e624d5 100644 --- a/R/data.R +++ b/R/data.R @@ -2,7 +2,7 @@ #' Example Data on FEV1 #' -#' @description `r lifecycle::badge("experimental")` +#' @description `r lifecycle::badge("stable")` #' #' @note Measurements of FEV1 (forced expired volume in one second) is a measure #' of how quickly the lungs can be emptied. Low levels of FEV1 may indicate @@ -27,7 +27,7 @@ #' Example Data on BCVA #' -#' @description `r lifecycle::badge("experimental")` +#' @description `r lifecycle::badge("stable")` #' #' @note Measurements of BCVA (best corrected visual acuity) is a measure of how #' how many letters a person can read off of an eye chart using corrective @@ -47,7 +47,7 @@ #' Cache Data for `mmrm` Model Comparison #' -#' @description `r lifecycle::badge("experimental")` +#' @description `r lifecycle::badge("stable")` #' #' @note The cached data for comparison is used for the vignettes generation. #' Please make sure that this data is refreshed before each package release diff --git a/R/fit.R b/R/fit.R index c969c6bcd..cb686c5fd 100644 --- a/R/fit.R +++ b/R/fit.R @@ -1,6 +1,6 @@ #' Fitting an MMRM with Single Optimizer #' -#' @description `r lifecycle::badge("experimental")` +#' @description `r lifecycle::badge("stable")` #' #' This function helps to fit an MMRM using `TMB` with a single optimizer, #' while capturing messages and warnings. @@ -127,7 +127,7 @@ h_summarize_all_fits <- function(all_fits) { #' Refitting MMRM with Multiple Optimizers #' -#' @description `r lifecycle::badge("experimental")` +#' @description `r lifecycle::badge("stable")` #' #' @param fit (`mmrm_fit`)\cr original model fit from [fit_single_optimizer()]. #' @param ... Additional arguments passed to [mmrm_control()]. @@ -194,7 +194,7 @@ refit_multiple_optimizers <- function(fit, #' Control Parameters for Fitting an MMRM #' -#' @description `r lifecycle::badge("experimental")` +#' @description `r lifecycle::badge("stable")` #' Fine-grained specification of the MMRM fit details is possible using this #' control function. #' @@ -313,7 +313,7 @@ mmrm_control <- function(n_cores = 1L, #' Fit an MMRM #' -#' @description `r lifecycle::badge("experimental")` +#' @description `r lifecycle::badge("stable")` #' #' This is the main function fitting the MMRM. #' diff --git a/R/interop-emmeans.R b/R/interop-emmeans.R index 4f66cddef..9cd375667 100644 --- a/R/interop-emmeans.R +++ b/R/interop-emmeans.R @@ -1,6 +1,6 @@ #' Support for `emmeans` #' -#' @description `r lifecycle::badge("experimental")` +#' @description `r lifecycle::badge("stable")` #' #' This package includes methods that allow `mmrm` objects to be used #' with the `emmeans` package. `emmeans` computes estimated marginal means diff --git a/R/mmrm-methods.R b/R/mmrm-methods.R index e0673a180..b2aa6630a 100644 --- a/R/mmrm-methods.R +++ b/R/mmrm-methods.R @@ -1,6 +1,6 @@ #' Methods for `mmrm` Objects #' -#' @description `r lifecycle::badge("experimental")` +#' @description `r lifecycle::badge("stable")` #' #' @param object (`mmrm`)\cr the fitted MMRM including Jacobian and call etc. #' @param ... not used. diff --git a/R/mmrm-package.R b/R/mmrm-package.R index 18eeeff13..549106d0f 100644 --- a/R/mmrm-package.R +++ b/R/mmrm-package.R @@ -8,15 +8,8 @@ #' @useDynLib mmrm, .registration = TRUE #' @importFrom Rcpp evalCpp #' @import checkmate -#' @importFrom lifecycle deprecated -#' @importFrom Matrix .bdiag #' @importFrom methods is -#' @importFrom stats acf -#' @importFrom stringr boundary -#' @importFrom parallel clusterApply #' @importFrom Rdpack reprompt -#' @importFrom utils modifyList -#' @importFrom tibble as_tibble NULL #' @importFrom generics tidy diff --git a/R/testing.R b/R/testing.R index 4ea63b1c1..58ca600d3 100644 --- a/R/testing.R +++ b/R/testing.R @@ -1,6 +1,6 @@ #' Calculation of Degrees of Freedom for One-Dimensional Contrast #' -#' @description `r lifecycle::badge("experimental")` +#' @description `r lifecycle::badge("stable")` #' Calculates the estimate, adjusted standard error, degrees of freedom, #' t statistic and p-value for one-dimensional contrast. #' @@ -35,7 +35,7 @@ df_1d <- function(object, contrast) { #' Calculation of Degrees of Freedom for Multi-Dimensional Contrast #' -#' @description `r lifecycle::badge("experimental")` +#' @description `r lifecycle::badge("stable")` #' Calculates the estimate, standard error, degrees of freedom, #' t statistic and p-value for one-dimensional contrast, depending on the method #' used in [mmrm()]. diff --git a/R/tidiers.R b/R/tidiers.R index 0296337f1..36bd0b4e6 100755 --- a/R/tidiers.R +++ b/R/tidiers.R @@ -1,6 +1,6 @@ #' Tidying Methods for `mmrm` Objects #' -#' @description `r lifecycle::badge("experimental")` +#' @description `r lifecycle::badge("stable")` #' #' These methods tidy the estimates from an `mmrm` object into a #' summary. diff --git a/R/tmb-methods.R b/R/tmb-methods.R index 11d8e97c1..ecde9ae0f 100644 --- a/R/tmb-methods.R +++ b/R/tmb-methods.R @@ -1,6 +1,6 @@ #' Methods for `mmrm_tmb` Objects #' -#' @description `r lifecycle::badge("experimental")` +#' @description `r lifecycle::badge("stable")` #' #' @param object (`mmrm_tmb`)\cr the fitted MMRM object. #' @param x (`mmrm_tmb`)\cr same as `object`. diff --git a/R/tmb.R b/R/tmb.R index 9272733ba..83d08ca13 100644 --- a/R/tmb.R +++ b/R/tmb.R @@ -467,7 +467,7 @@ h_mmrm_tmb_fit <- function(tmb_object, #' Low-Level Fitting Function for MMRM #' -#' @description `r lifecycle::badge("experimental")` +#' @description `r lifecycle::badge("stable")` #' #' This is the low-level function to fit an MMRM. Note that this does not #' try different optimizers or adds Jacobian information etc. in contrast to diff --git a/R/utils.R b/R/utils.R index 5144c63b1..ec1c41ffd 100644 --- a/R/utils.R +++ b/R/utils.R @@ -91,7 +91,7 @@ h_split_control <- function(control, ...) { assert_class(control, "mmrm_control") l <- length(control$optimizers) lapply(seq_len(l), function(i) { - ret <- modifyList(control, list(...)) + ret <- utils::modifyList(control, list(...)) ret$optimizers <- control$optimizers[i] ret }) @@ -196,10 +196,14 @@ h_partial_fun_args <- function(fun, ..., additional_attr = list()) { } do.call( structure, - args = modifyList(list( - .Data = fun, args = modifyList(args, a_args), - class = c("partial", "function") - ), additional_attr) + args = utils::modifyList( + list( + .Data = fun, + args = utils::modifyList(args, a_args), + class = c("partial", "function") + ), + additional_attr + ) ) } diff --git a/inst/WORDLIST b/inst/WORDLIST index e53e6af74..764225d74 100644 --- a/inst/WORDLIST +++ b/inst/WORDLIST @@ -12,6 +12,7 @@ DPD DeclareMathOperator Dohme FEV +GmbH Gower Hoffmann Indexible @@ -40,6 +41,7 @@ adh ansi ar ast +biostatistics blockdiag boldsymbol cdots diff --git a/man/as.cov_struct.Rd b/man/as.cov_struct.Rd index 63aa08d4e..879a9303c 100644 --- a/man/as.cov_struct.Rd +++ b/man/as.cov_struct.Rd @@ -22,7 +22,7 @@ formula are disregarded.} A \code{\link[=cov_struct]{cov_struct()}} object. } \description{ -\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#maturing}{\figure{lifecycle-maturing.svg}{options: alt='[Maturing]'}}}{\strong{[Maturing]}} +\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#stable}{\figure{lifecycle-stable.svg}{options: alt='[Stable]'}}}{\strong{[Stable]}} } \details{ A covariance structure can be parsed from a model definition formula or call. diff --git a/man/bcva_data.Rd b/man/bcva_data.Rd index 56b4733cc..af62036c1 100644 --- a/man/bcva_data.Rd +++ b/man/bcva_data.Rd @@ -23,7 +23,7 @@ This is an artificial dataset. bcva_data } \description{ -\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#experimental}{\figure{lifecycle-experimental.svg}{options: alt='[Experimental]'}}}{\strong{[Experimental]}} +\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#stable}{\figure{lifecycle-stable.svg}{options: alt='[Stable]'}}}{\strong{[Stable]}} } \note{ Measurements of BCVA (best corrected visual acuity) is a measure of how diff --git a/man/cached_mmrm_results.Rd b/man/cached_mmrm_results.Rd index b8179fa54..9ba83644b 100644 --- a/man/cached_mmrm_results.Rd +++ b/man/cached_mmrm_results.Rd @@ -22,7 +22,7 @@ This is created based on simulations on FEV data and BCVA data. cached_mmrm_results } \description{ -\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#experimental}{\figure{lifecycle-experimental.svg}{options: alt='[Experimental]'}}}{\strong{[Experimental]}} +\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#stable}{\figure{lifecycle-stable.svg}{options: alt='[Stable]'}}}{\strong{[Stable]}} } \note{ The cached data for comparison is used for the vignettes generation. diff --git a/man/component.Rd b/man/component.Rd index 4e4084b00..7a061712b 100644 --- a/man/component.Rd +++ b/man/component.Rd @@ -22,7 +22,7 @@ component( The corresponding component of the object, see details. } \description{ -\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#experimental}{\figure{lifecycle-experimental.svg}{options: alt='[Experimental]'}}}{\strong{[Experimental]}} +\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#stable}{\figure{lifecycle-stable.svg}{options: alt='[Stable]'}}}{\strong{[Stable]}} } \details{ Available \code{component()} names are as follows: diff --git a/man/cov_struct.Rd b/man/cov_struct.Rd index 98eb73572..8daf363cb 100644 --- a/man/cov_struct.Rd +++ b/man/cov_struct.Rd @@ -34,7 +34,7 @@ a grouping variable for subjects.} A \code{cov_struct} object. } \description{ -\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#maturing}{\figure{lifecycle-maturing.svg}{options: alt='[Maturing]'}}}{\strong{[Maturing]}} +\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#stable}{\figure{lifecycle-stable.svg}{options: alt='[Stable]'}}}{\strong{[Stable]}} } \examples{ cov_struct("csh", "AVISITN", "USUBJID") diff --git a/man/covariance_types.Rd b/man/covariance_types.Rd index 8eb6eb161..3632fde65 100644 --- a/man/covariance_types.Rd +++ b/man/covariance_types.Rd @@ -23,7 +23,7 @@ A character vector of accepted covariance structure type names and abbreviations. } \description{ -\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#maturing}{\figure{lifecycle-maturing.svg}{options: alt='[Maturing]'}}}{\strong{[Maturing]}} +\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#stable}{\figure{lifecycle-stable.svg}{options: alt='[Stable]'}}}{\strong{[Stable]}} } \note{ The \strong{ante-dependence} covariance structure in this package refers to diff --git a/man/df_1d.Rd b/man/df_1d.Rd index 9241d86ce..f95e81c24 100644 --- a/man/df_1d.Rd +++ b/man/df_1d.Rd @@ -17,7 +17,7 @@ actually estimated coefficients.} List with \code{est}, \code{se}, \code{df}, \code{t_stat} and \code{p_val}. } \description{ -\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#experimental}{\figure{lifecycle-experimental.svg}{options: alt='[Experimental]'}}}{\strong{[Experimental]}} +\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#stable}{\figure{lifecycle-stable.svg}{options: alt='[Stable]'}}}{\strong{[Stable]}} Calculates the estimate, adjusted standard error, degrees of freedom, t statistic and p-value for one-dimensional contrast. } diff --git a/man/df_md.Rd b/man/df_md.Rd index 02994d9a0..d3c0a6d74 100644 --- a/man/df_md.Rd +++ b/man/df_md.Rd @@ -18,7 +18,7 @@ actually estimated coefficients.} List with \code{num_df}, \code{denom_df}, \code{f_stat} and \code{p_val} (2-sided p-value). } \description{ -\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#experimental}{\figure{lifecycle-experimental.svg}{options: alt='[Experimental]'}}}{\strong{[Experimental]}} +\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#stable}{\figure{lifecycle-stable.svg}{options: alt='[Stable]'}}}{\strong{[Stable]}} Calculates the estimate, standard error, degrees of freedom, t statistic and p-value for one-dimensional contrast, depending on the method used in \code{\link[=mmrm]{mmrm()}}. diff --git a/man/emmeans_support.Rd b/man/emmeans_support.Rd index cfee60f90..0c8359b42 100644 --- a/man/emmeans_support.Rd +++ b/man/emmeans_support.Rd @@ -4,7 +4,7 @@ \alias{emmeans_support} \title{Support for \code{emmeans}} \description{ -\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#experimental}{\figure{lifecycle-experimental.svg}{options: alt='[Experimental]'}}}{\strong{[Experimental]}} +\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#stable}{\figure{lifecycle-stable.svg}{options: alt='[Stable]'}}}{\strong{[Stable]}} This package includes methods that allow \code{mmrm} objects to be used with the \code{emmeans} package. \code{emmeans} computes estimated marginal means diff --git a/man/fev_data.Rd b/man/fev_data.Rd index b617314c6..97e555732 100644 --- a/man/fev_data.Rd +++ b/man/fev_data.Rd @@ -26,7 +26,7 @@ This is an artificial dataset. fev_data } \description{ -\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#experimental}{\figure{lifecycle-experimental.svg}{options: alt='[Experimental]'}}}{\strong{[Experimental]}} +\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#stable}{\figure{lifecycle-stable.svg}{options: alt='[Stable]'}}}{\strong{[Stable]}} } \note{ Measurements of FEV1 (forced expired volume in one second) is a measure diff --git a/man/fit_mmrm.Rd b/man/fit_mmrm.Rd index 8a3e3f89d..397eed295 100644 --- a/man/fit_mmrm.Rd +++ b/man/fit_mmrm.Rd @@ -45,7 +45,7 @@ List of class \code{mmrm_tmb}, see \code{\link[=h_mmrm_tmb_fit]{h_mmrm_tmb_fit() In addition, it contains elements \code{call} and \code{optimizer}. } \description{ -\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#experimental}{\figure{lifecycle-experimental.svg}{options: alt='[Experimental]'}}}{\strong{[Experimental]}} +\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#stable}{\figure{lifecycle-stable.svg}{options: alt='[Stable]'}}}{\strong{[Stable]}} This is the low-level function to fit an MMRM. Note that this does not try different optimizers or adds Jacobian information etc. in contrast to diff --git a/man/fit_single_optimizer.Rd b/man/fit_single_optimizer.Rd index cc82f6034..473d72e1d 100644 --- a/man/fit_single_optimizer.Rd +++ b/man/fit_single_optimizer.Rd @@ -46,7 +46,7 @@ messages, optimizer used and convergence status in addition to the \code{mmrm_tmb} contents. } \description{ -\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#experimental}{\figure{lifecycle-experimental.svg}{options: alt='[Experimental]'}}}{\strong{[Experimental]}} +\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#stable}{\figure{lifecycle-stable.svg}{options: alt='[Stable]'}}}{\strong{[Stable]}} This function helps to fit an MMRM using \code{TMB} with a single optimizer, while capturing messages and warnings. diff --git a/man/mmrm-package.Rd b/man/mmrm-package.Rd index f5f9df54c..371c7ffb8 100644 --- a/man/mmrm-package.Rd +++ b/man/mmrm-package.Rd @@ -16,7 +16,7 @@ Useful links: } \author{ -\strong{Maintainer}: Daniel Sabanes Bove \email{daniel.sabanes_bove@rconis.com} +\strong{Maintainer}: Daniel Sabanes Bove \email{daniel.sabanes_bove@rconis.com} (\href{https://orcid.org/0000-0002-0176-9239}{ORCID}) Authors: \itemize{ @@ -41,6 +41,7 @@ Other contributors: \item F. Hoffmann-La Roche AG [copyright holder, funder] \item Merck Sharp & Dohme, Inc. [copyright holder, funder] \item AstraZeneca plc [copyright holder, funder] + \item inferential.biostatistics GmbH [copyright holder, funder] } } diff --git a/man/mmrm.Rd b/man/mmrm.Rd index b5f137a66..0dbbd1c40 100644 --- a/man/mmrm.Rd +++ b/man/mmrm.Rd @@ -39,7 +39,7 @@ created with \code{\link[=mmrm_control]{mmrm_control()}}.} An \code{mmrm} object. } \description{ -\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#experimental}{\figure{lifecycle-experimental.svg}{options: alt='[Experimental]'}}}{\strong{[Experimental]}} +\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#stable}{\figure{lifecycle-stable.svg}{options: alt='[Stable]'}}}{\strong{[Stable]}} This is the main function fitting the MMRM. } diff --git a/man/mmrm_control.Rd b/man/mmrm_control.Rd index f79983586..77a368af3 100644 --- a/man/mmrm_control.Rd +++ b/man/mmrm_control.Rd @@ -39,7 +39,7 @@ if visit variable is a factor, see details.} List of class \code{mmrm_control} with the control parameters. } \description{ -\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#experimental}{\figure{lifecycle-experimental.svg}{options: alt='[Experimental]'}}}{\strong{[Experimental]}} +\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#stable}{\figure{lifecycle-stable.svg}{options: alt='[Stable]'}}}{\strong{[Stable]}} Fine-grained specification of the MMRM fit details is possible using this control function. } diff --git a/man/mmrm_methods.Rd b/man/mmrm_methods.Rd index a8b712588..b4cfac75b 100644 --- a/man/mmrm_methods.Rd +++ b/man/mmrm_methods.Rd @@ -27,7 +27,7 @@ Depends on the method, see Details and Functions. } \description{ -\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#experimental}{\figure{lifecycle-experimental.svg}{options: alt='[Experimental]'}}}{\strong{[Experimental]}} +\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#stable}{\figure{lifecycle-stable.svg}{options: alt='[Stable]'}}}{\strong{[Stable]}} } \details{ While printing the summary of (\code{mmrm})\cr object, the following will be displayed: diff --git a/man/mmrm_tidiers.Rd b/man/mmrm_tidiers.Rd index 64dac9261..1af51a017 100644 --- a/man/mmrm_tidiers.Rd +++ b/man/mmrm_tidiers.Rd @@ -39,7 +39,7 @@ \item{type.residuals}{(\code{string})\cr passed on to \code{\link[=residuals.mmrm_tmb]{residuals.mmrm_tmb()}}.} } \description{ -\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#experimental}{\figure{lifecycle-experimental.svg}{options: alt='[Experimental]'}}}{\strong{[Experimental]}} +\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#stable}{\figure{lifecycle-stable.svg}{options: alt='[Stable]'}}}{\strong{[Stable]}} These methods tidy the estimates from an \code{mmrm} object into a summary. diff --git a/man/mmrm_tmb_methods.Rd b/man/mmrm_tmb_methods.Rd index c5e9f6408..d9d66c3b6 100644 --- a/man/mmrm_tmb_methods.Rd +++ b/man/mmrm_tmb_methods.Rd @@ -132,7 +132,7 @@ If "marginal", the variance of the estimated covariance matrix is taken into acc Depends on the method, see Functions. } \description{ -\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#experimental}{\figure{lifecycle-experimental.svg}{options: alt='[Experimental]'}}}{\strong{[Experimental]}} +\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#stable}{\figure{lifecycle-stable.svg}{options: alt='[Stable]'}}}{\strong{[Stable]}} } \details{ \code{include} argument controls the variables the returned model frame will include. diff --git a/man/refit_multiple_optimizers.Rd b/man/refit_multiple_optimizers.Rd index 354af17b9..fd071b9db 100644 --- a/man/refit_multiple_optimizers.Rd +++ b/man/refit_multiple_optimizers.Rd @@ -17,7 +17,7 @@ refit_multiple_optimizers(fit, ..., control = mmrm_control(...)) The best (in terms of log likelihood) fit which converged. } \description{ -\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#experimental}{\figure{lifecycle-experimental.svg}{options: alt='[Experimental]'}}}{\strong{[Experimental]}} +\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#stable}{\figure{lifecycle-stable.svg}{options: alt='[Stable]'}}}{\strong{[Stable]}} } \note{ For Windows, no parallel computations are currently implemented.