getDesignMeanDiffMMRM: Group sequential design for two-sample mean difference from...

View source: R/getDesignMeans.R

getDesignMeanDiffMMRMR Documentation

Group sequential design for two-sample mean difference from the MMRM model

Description

Obtains the power and sample size for two-sample mean difference at the last time point from the mixed-model for repeated measures (MMRM) model.

Usage

getDesignMeanDiffMMRM(
  beta = NA_real_,
  meanDiffH0 = 0,
  meanDiff = 0.5,
  k = 1,
  t = NA_real_,
  covar1 = diag(k),
  covar2 = NA_real_,
  accrualTime = 0,
  accrualIntensity = NA_real_,
  piecewiseSurvivalTime = 0,
  gamma1 = 0,
  gamma2 = 0,
  accrualDuration = NA_real_,
  allocationRatioPlanned = 1,
  normalApproximation = TRUE,
  rounding = TRUE,
  kMax = 1L,
  informationRates = NA_real_,
  efficacyStopping = NA_integer_,
  futilityStopping = NA_integer_,
  criticalValues = NA_real_,
  alpha = 0.025,
  typeAlphaSpending = "sfOF",
  parameterAlphaSpending = NA_real_,
  userAlphaSpending = NA_real_,
  futilityBounds = NA_real_,
  typeBetaSpending = "none",
  parameterBetaSpending = NA_real_,
  userBetaSpending = NA_real_,
  spendingTime = NA_real_
)

Arguments

beta

The type II error.

meanDiffH0

The mean difference at the last time point under the null hypothesis. Defaults to 0.

meanDiff

The mean difference at the last time point under the alternative hypothesis.

k

The number of postbaseline time points.

t

The postbaseline time points.

covar1

The covariance matrix for the repeated measures given baseline for the active treatment group.

covar2

The covariance matrix for the repeated measures given baseline for the control group. If missing, it will be set equal to the covariance matrix for the active treatment group.

accrualTime

A vector that specifies the starting time of piecewise Poisson enrollment time intervals. Must start with 0, e.g., c(0, 3) breaks the time axis into 2 accrual intervals: [0, 3) and [3, Inf).

accrualIntensity

A vector of accrual intensities. One for each accrual time interval.

piecewiseSurvivalTime

A vector that specifies the starting time of piecewise exponential survival time intervals. Must start with 0, e.g., c(0, 6) breaks the time axis into 2 event intervals: [0, 6) and [6, Inf). Defaults to 0 for exponential distribution.

gamma1

The hazard rate for exponential dropout, or a vector of hazard rates for piecewise exponential dropout for the active treatment group.

gamma2

The hazard rate for exponential dropout, or a vector of hazard rates for piecewise exponential dropout for the control group.

accrualDuration

Duration of the enrollment period.

allocationRatioPlanned

Allocation ratio for the active treatment versus control. Defaults to 1 for equal randomization.

normalApproximation

The type of computation of the p-values. If TRUE, the variance is assumed to be known, otherwise the calculations are performed with the t distribution. The degrees of freedom for the t-distribution is the total effective sample size minus 2. The exact calculation using the t distribution is only implemented for the fixed design.

rounding

Whether to round up sample size. Defaults to 1 for sample size rounding.

kMax

The maximum number of stages.

informationRates

The information rates. Defaults to (1:kMax) / kMax if left unspecified.

efficacyStopping

Indicators of whether efficacy stopping is allowed at each stage. Defaults to true if left unspecified.

futilityStopping

Indicators of whether futility stopping is allowed at each stage. Defaults to true if left unspecified.

criticalValues

Upper boundaries on the z-test statistic scale for stopping for efficacy.

alpha

The significance level. Defaults to 0.025.

typeAlphaSpending

The type of alpha spending. One of the following: "OF" for O'Brien-Fleming boundaries, "P" for Pocock boundaries, "WT" for Wang & Tsiatis boundaries, "sfOF" for O'Brien-Fleming type spending function, "sfP" for Pocock type spending function, "sfKD" for Kim & DeMets spending function, "sfHSD" for Hwang, Shi & DeCani spending function, "user" for user defined spending, and "none" for no early efficacy stopping. Defaults to "sfOF".

parameterAlphaSpending

The parameter value for the alpha spending. Corresponds to Delta for "WT", rho for "sfKD", and gamma for "sfHSD".

userAlphaSpending

The user defined alpha spending. Cumulative alpha spent up to each stage.

futilityBounds

Lower boundaries on the z-test statistic scale for stopping for futility at stages 1, ..., kMax-1. Defaults to rep(-6, kMax-1) if left unspecified. The futility bounds are non-binding for the calculation of critical values.

typeBetaSpending

The type of beta spending. One of the following: "sfOF" for O'Brien-Fleming type spending function, "sfP" for Pocock type spending function, "sfKD" for Kim & DeMets spending function, "sfHSD" for Hwang, Shi & DeCani spending function, "user" for user defined spending, and "none" for no early futility stopping. Defaults to "none".

parameterBetaSpending

The parameter value for the beta spending. Corresponds to rho for "sfKD", and gamma for "sfHSD".

userBetaSpending

The user defined beta spending. Cumulative beta spent up to each stage.

spendingTime

A vector of length kMax for the error spending time at each analysis. Defaults to missing, in which case, it is the same as informationRates.

Value

An S3 class designMeanDiffMMRM object with three components:

  • overallResults: A data frame containing the following variables:

    • overallReject: The overall rejection probability.

    • alpha: The overall significance level.

    • attainedAlpha: The attained significance level, which is different from the overall significance level in the presence of futility stopping.

    • kMax: The number of stages.

    • theta: The parameter value.

    • information: The maximum information.

    • expectedInformationH1: The expected information under H1.

    • expectedInformationH0: The expected information under H0.

    • drift: The drift parameter, equal to theta*sqrt(information).

    • inflationFactor: The inflation factor (relative to the fixed design).

    • numberOfSubjects: The maximum number of subjects.

    • studyDuration: The maximum study duration.

    • expectedNumberOfSubjectsH1: The expected number of subjects under H1.

    • expectedNumberOfSubjectsH0: The expected number of subjects under H0.

    • expectedStudyDurationH1: The expected study duration under H1.

    • expectedStudyDurationH0: The expected study duration under H0.

    • accrualDuration: The accrual duration.

    • followupTime: The follow-up time.

    • fixedFollowup: Whether a fixed follow-up design is used.

    • meanDiffH0: The mean difference under H0.

    • meanDiff: The mean difference under H1.

  • byStageResults: A data frame containing the following variables:

    • informationRates: The information rates.

    • efficacyBounds: The efficacy boundaries on the Z-scale.

    • futilityBounds: The futility boundaries on the Z-scale.

    • rejectPerStage: The probability for efficacy stopping.

    • futilityPerStage: The probability for futility stopping.

    • cumulativeRejection: The cumulative probability for efficacy stopping.

    • cumulativeFutility: The cumulative probability for futility stopping.

    • cumulativeAlphaSpent: The cumulative alpha spent.

    • efficacyP: The efficacy boundaries on the p-value scale.

    • futilityP: The futility boundaries on the p-value scale.

    • information: The cumulative information.

    • efficacyStopping: Whether to allow efficacy stopping.

    • futilityStopping: Whether to allow futility stopping.

    • rejectPerStageH0: The probability for efficacy stopping under H0.

    • futilityPerStageH0: The probability for futility stopping under H0.

    • cumulativeRejectionH0: The cumulative probability for efficacy stopping under H0.

    • cumulativeFutilityH0: The cumulative probability for futility stopping under H0.

    • efficacyMeanDiff: The efficacy boundaries on the mean difference scale.

    • futilityMeanDiff: The futility boundaries on the mean difference scale.

    • numberOfSubjects: The number of subjects.

    • analysisTime: The average time since trial start.

  • settings: A list containing the following input parameters:

    • typeAlphaSpending: The type of alpha spending.

    • parameterAlphaSpending: The parameter value for alpha spending.

    • userAlphaSpending: The user defined alpha spending.

    • typeBetaSpending: The type of beta spending.

    • parameterBetaSpending: The parameter value for beta spending.

    • userBetaSpending: The user defined beta spending.

    • spendingTime: The error spending time at each analysis.

    • allocationRatioPlanned: The allocation ratio for the active treatment versus control.

    • accrualTime: A vector that specifies the starting time of piecewise Poisson enrollment time intervals.

    • accrualIntensity: A vector of accrual intensities. One for each accrual time interval.

    • piecewiseSurvivalTime: A vector that specifies the starting time of piecewise exponential survival time intervals.

    • gamma1: The hazard rate for exponential dropout or a vector of hazard rates for piecewise exponential dropout for the active treatment group.

    • gamma2: The hazard rate for exponential dropout or a vector of hazard rates for piecewise exponential dropout for the control group.

    • k: The number of postbaseline time points.

    • t: The postbaseline time points.

    • covar1: The covariance matrix for the repeated measures given baseline for the active treatment group.

    • covar2: The covariance matrix for the repeated measures given baseline for the control group.

    • normalApproximation: The type of computation of the p-values. If TRUE, the variance is assumed to be known, otherwise the calculations are performed with the t distribution.

    • rounding: Whether to round up sample size.

Author(s)

Kaifeng Lu, kaifenglu@gmail.com

Examples


# function to generate the AR(1) correlation matrix
ar1_cor <- function(n, corr) {
  exponent <- abs(matrix((1:n) - 1, n, n, byrow = TRUE) - ((1:n) - 1))
  corr^exponent
}

(design1 = getDesignMeanDiffMMRM(
  beta = 0.2,
  meanDiffH0 = 0,
  meanDiff = 0.5,
  k = 4,
  t = c(1,2,3,4),
  covar1 = ar1_cor(4, 0.7),
  accrualIntensity = 10,
  gamma1 = 0.02634013,
  gamma2 = 0.02634013,
  accrualDuration = NA,
  allocationRatioPlanned = 1,
  kMax = 3,
  alpha = 0.025,
  typeAlphaSpending = "sfOF"))


lrstat documentation built on June 23, 2024, 5:06 p.m.