MumixedContCont.MultS {Surrogate}R Documentation

Fits a multivariate mixed-effects model to assess surrogacy in the meta-analytic multiple-trial setting (Continuous-continuous case with multiple surrogates)

Description

The function MumixedContCont.MultS uses the multivariate mixed-effects approach to estimate trial- and individual-level surrogacy when the data of multiple clinical trials are available and multiple surrogates are considered for a single true endpoint. See the Details section below.

Usage

MumixedContCont.MultS(Dataset, Endpoints=True~Surr.1+Surr.2, 
Treat="Treat", Trial.ID="Trial.ID", Pat.ID="Pat.ID", 
Model=c("Full"), Min.Trial.Size=2, Alpha=.05, Opt="nlminb")

Arguments

Dataset

A data.frame that should consist of one line per patient. Each line contains one or more surrogate value(s), a true endpoint value, a treatment indicator, a patient ID, and a trial ID.

Endpoints

An equation in the form True~Surr.1+Surr.2 that specifies the true endpoint followed by the surrogate endpoint(s).

Treat

The name of the variable in Dataset that contains the treatment indicators. The treatment indicator should be coded as 11 for the experimental group and 1-1 for the control group.

Trial.ID

The name of the variable in Dataset that contains the trial ID to which the patient belongs.

Pat.ID

The name of the variable in Dataset that contains the patient's ID.

Model

The type of model that should be fitted, i.e., Model=c("Full") or Model=c("Reduced"). For details, see below or Van der Elst et al. (2023). Default Model=c("Full").

Min.Trial.Size

The minimum number of patients that a trial should contain in order to be included in the analysis. If the number of patients in a trial is smaller than the value specified by Min.Trial.Size, the data of the trial are excluded from the analysis. Default 22.

Alpha

The α\alpha-level that is used to determine the confidence intervals around Rtrial2R^2_{trial} and Rindiv2R^2_{indiv} (based on the approach of Lee, 1971). Default 0.050.05.

Opt

The optimizer to be used by the lme function (the fits the mixed-effects model), with options nlminb or optim. For details, see ?lmeControl. Default Opt="nlminb".

Details

When a full model is requested (by using the argument Model=c("Full") in the function call), the following mixed-effects model is fitted:

S1ij=μS1+mS1i(αS1+aS1i)Zij+εS1ij,S1_{ij}=\mu_{S1}+m_{S1i}(\alpha_{S1}+a_{S1i})Z_{ij}+\varepsilon_{S1ij},

S2ij=μS2+mS2i(αS2+aS2i)Zij+εS2ij,S2_{ij}=\mu_{S2}+m_{S2i}(\alpha_{S2}+a_{S2i})Z_{ij}+\varepsilon_{S2ij},

SKij=μSK+mSKi(αSK+aSKi)Zij+εSKij,SK_{ij}=\mu_{SK}+m_{SKi}(\alpha_{SK}+a_{SKi})Z_{ij}+\varepsilon_{SKij},

Tij=μT+mTi(βT+bTi)Zij+εTij,T_{ij}=\mu_{T}+m_{Ti}(\beta_{T}+b_{Ti})Z_{ij}+\varepsilon_{Tij},

where ZijZ_{ij} is the treatment indicator for subject jj in trial ii, μS1\mu_{S1}, μS2\mu_{S2}, ... μSK\mu_{SK} and μT\mu_{T} are the fixed intercepts for S1S1, S2S2, ... SKSK and TT, mS1im_{S1i}, mS2im_{S2i}, ... mSKim_{SKi}, and mTim_{Ti} are the corresponding random intercepts, αS1\alpha_{S1}, αS2\alpha_{S2}, ..., αSK\alpha_{SK} and βT\beta_T are the fixed treatment effects for S1S1, S2S2, ... SKSK and TT, and aS1ia_{S1i}, aS2ia_{S2i}, ... aSKia_{SKi} and bTib_{Ti} are the corresponding random treatment effects. The vector of the random effects (mS1i,mS2i,...,mSKi,mTi,aS1i,aS2i,...,aSKi,bTi)\left(m_{S1i},\:m_{S2i}, \: ... , \: m_{SKi},\: m_{Ti},\: a_{S1i},\: a_{S2i},\: ... , \: a_{SKi},\: b_{Ti}\right) is assumed to be mean-zero normally distributed with unstructured variance-covariance matrix D\mathbf{D}. Similarly, the residuals εS1ij\varepsilon_{S1ij}, εS2ij\varepsilon_{S2ij}, ... εSKij\varepsilon_{SKij}, εTij\varepsilon_{Tij} are assumed to be mean-zero normally distributed with unstructured variance-covariance matrix Σ\mathbf{\Sigma}.

When a reduced model is requested (by using the argument Model=c("Reduced") in the function call), the trial-specific intercepts for the surrogate endpoints and the true endpoint in the above model are replaced by common intercepts.

For the full model, Rtrial2R^2_{trial} and Rindiv2R^2_{indiv} are estimated based on D\mathbf{D} and Σ\mathbf{\Sigma}, respectively:

Rtrial2=RbTimS1i,mS2i,...,mSKi,aS1i,aS2i,...aSKi2=DSTTDSS1DSTDTT,R_{trial}^{2}=R^2_{b_{Ti}|m_{S1i},\: m_{S2i},\: ..., \:m_{SKi}, \: a_{S1i},\: a_{S2i}, \: ... \: a_{SKi}}= \dfrac{\boldsymbol{D}_{ST}^T \: \boldsymbol{D}^{-1}_{SS} \: \boldsymbol{D}_{ST}}{\boldsymbol{D}_{TT}},

Rindiv2=RεTijεS1ij,εS2ij,...,εSKij2=ΣSTTΣSS1ΣSTΣTT.R_{indiv}^{2}=R_{\varepsilon_{Tij}|\varepsilon_{S1ij}, \: \varepsilon_{S2ij}, \: ..., \: \varepsilon_{SKij}}^{2}= \dfrac{\boldsymbol{\Sigma}_{ST}^T \: \boldsymbol{\Sigma}^{-1}_{SS} \: \boldsymbol{\Sigma}_{ST}}{\boldsymbol{\Sigma}_{TT}}.

For the reduced model, the reduced D\mathbf{D} and Σ\mathbf{\Sigma} are used.

Value

An object of class MumixedContCont.MultS with components,

Data.Analyze

Prior to conducting the surrogacy analysis, data of patients who have a missing value for the surrogate and/or the true endpoint are excluded. In addition, the data of trials (i) in which only one type of the treatment was administered, and (ii) in which either the surrogate or the true endpoint was a constant are excluded. In addition, the user can specify the minimum number of patients that a trial should contain in order to include the trial in the analysis. If the number of patients in a trial is smaller than the value specified by Min.Trial.Size, the data of the trial are excluded. Data.Analyze is the dataset on which the surrogacy analysis was conducted.

Obs.Per.Trial

A data.frame that contains the total number of patients per trial and the number of patients who were administered the control treatment and the experimental treatment in each of the trials (in Data.Analyze).

Fixed.Effects

A data.frame that contains the fixed intercepts and treatment effects for the true and the surrogate endpoints.

Random.Effects

A data.frame that contains the random intercepts and treatment effects for the true and the surrogate endpoints.

Trial.R2.Lee

A data.frame that contains the trial-level coefficient of determination (Rtrial2R^2_{trial}), its standard error and confidence interval based on the approach of Lee (1971).

Indiv.R2.Lee

A data.frame that contains the individual-level coefficient of determination (Rindiv2R^2_{indiv}), its standard error and confidence interval based on the approach of Lee (1971).

D

The variance-covariance matrix of the trial-specific intercepts and treatment effects for the surrogates and true endpoints (when a full model is fitted, i.e., when Model=c("Full") is used in the function call), or the variance-covariance matrix of the trial-specific treatment effects for the surrogates and true endpoints (when a reduced model is fitted, i.e., when Model=c("Reduced") is used in the function call).

Cond.Number.D.Matrix

The condition number of the D\mathbf{D} matrix.

Cond.Number.Sigma.Matrix

The condition number of the Σ\mathbf{\Sigma} matrix.

Fitted.Model

The fitted mixed-effects model.

Author(s)

Wim Van der Elst

References

Burzykowski, T., Molenberghs, G., & Buyse, M. (2005). The evaluation of surrogate endpoints. New York: Springer-Verlag.

Buyse, M., Molenberghs, G., Burzykowski, T., Renard, D., & Geys, H. (2000). The validation of surrogate endpoints in meta-analysis of randomized experiments. Biostatistics, 1, 49-67.

Lee, Y. S. (1971). Tables of the upper percentage points of the multiple correlation. Biometrika, 59, 175-189.

Van der Elst et al. (2024). Multivariate surrogate endpoints for normally distributed continuous endpoints in the meta-analytic setting.

See Also

MufixedContCont.MultS

Examples

## Not run:  # time consuming code part
data(PANSS)

# Do a surrogacy analysis with T=Total PANSS score, 
# S1=Negative symptoms and S2=Positive symptoms
# Fit a full mixed-effects model:
Fit.Neg.Pos <- MumixedContCont.MultS(Dataset = PANSS, 
  Endpoints = Total ~ Neg+Pos, Model = "Full", 
  Treat = "Treat", Trial.ID = "Invest", Pat.ID = "Pat.ID")
  
# Model does not converge, as often happens with the 
# mixed-effects approach. Instead, fit a full multivariate 
# fixed-effects model with weighting according to the  
# number of patients in stage 2 of the two stage approach to assess surrogacy:
Fit.Neg.Pos <- MufixedContCont.MultS(Dataset = PANSS, 
  Endpoints = Total ~ Neg+Pos, Model = "Full", 
  Treat = "Treat", Trial.ID = "Invest", Pat.ID = "Pat.ID")
  
# Obtain a summary of the results
summary(Fit.Neg.Pos)
# 

## End(Not run)

[Package Surrogate version 3.3.0 Index]