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.
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")
An object of class MumixedContCont.MultS
with components,
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.
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
).
A data.frame
that contains the fixed intercepts and treatment effects for the true and the surrogate endpoints.
A data.frame
that contains the random intercepts and treatment effects for the true and the surrogate endpoints.
A data.frame
that contains the trial-level coefficient of determination (\(R^2_{trial}\)), its standard error and confidence interval based on the approach of Lee (1971).
A data.frame
that contains the individual-level coefficient of determination (\(R^2_{indiv}\)), its standard error and confidence interval based on the approach of Lee (1971).
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).
The condition number of the \(\mathbf{D}\) matrix.
The condition number of the \(\mathbf{\Sigma}\) matrix.
The fitted mixed-effects model.
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.
An equation in the form True~Surr.1+Surr.2
that specifies the true endpoint followed by the surrogate endpoint(s).
The name of the variable in Dataset
that contains the treatment indicators. The treatment indicator should be coded as \(1\) for the experimental group and \(-1\) for the control group.
The name of the variable in Dataset
that contains the trial ID to which the patient belongs.
The name of the variable in Dataset
that contains the patient's ID.
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")
.
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 \(2\).
The \(\alpha\)-level that is used to determine the confidence intervals around \(R^2_{trial}\) and \(R^2_{indiv}\) (based on the approach of Lee, 1971). Default \(0.05\).
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"
.
Wim Van der Elst
When a full model is requested (by using the argument Model=c("Full")
in the function call), the following mixed-effects model is fitted:
$$S1_{ij}=\mu_{S1}+m_{S1i}(\alpha_{S1}+a_{S1i})Z_{ij}+\varepsilon_{S1ij},$$ $$S2_{ij}=\mu_{S2}+m_{S2i}(\alpha_{S2}+a_{S2i})Z_{ij}+\varepsilon_{S2ij},$$ $$SK_{ij}=\mu_{SK}+m_{SKi}(\alpha_{SK}+a_{SKi})Z_{ij}+\varepsilon_{SKij},$$ $$T_{ij}=\mu_{T}+m_{Ti}(\beta_{T}+b_{Ti})Z_{ij}+\varepsilon_{Tij},$$
where \(Z_{ij}\) is the treatment indicator for subject \(j\) in trial \(i\), \(\mu_{S1}\), \(\mu_{S2}\), ... \(\mu_{SK}\) and \(\mu_{T}\) are the fixed intercepts for \(S1\), \(S2\), ... \(SK\) and \(T\), \(m_{S1i}\), \(m_{S2i}\), ... \(m_{SKi}\), and \(m_{Ti}\) are the corresponding random intercepts, \(\alpha_{S1}\), \(\alpha_{S2}\), ..., \(\alpha_{SK}\) and \(\beta_T\) are the fixed treatment effects for \(S1\), \(S2\), ... \(SK\) and \(T\), and \(a_{S1i}\), \(a_{S2i}\), ... \(a_{SKi}\) and \(b_{Ti}\) are the corresponding random treatment effects. The vector of the random effects \(\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 \(\mathbf{D}\). Similarly, the residuals \(\varepsilon_{S1ij}\), \(\varepsilon_{S2ij}\), ... \(\varepsilon_{SKij}\), \(\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, \(R^2_{trial}\) and \(R^2_{indiv}\) are estimated based on \(\mathbf{D}\) and \(\mathbf{\Sigma}\), respectively: $$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}},$$ $$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 \(\mathbf{D}\) and \(\mathbf{\Sigma}\) are used.
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.
MufixedContCont.MultS
if (FALSE) # 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)
#
Run the code above in your browser using DataLab