getDesignWilcoxon {lrstat} | R Documentation |
Group Sequential Design for Two-Sample Wilcoxon Test
Description
Obtains the power given sample size or obtains the sample size given power for a group sequential design for two-sample Wilcoxon test.
Usage
getDesignWilcoxon(
beta = NA_real_,
n = NA_real_,
pLarger = 0.6,
allocationRatioPlanned = 1,
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. |
n |
The total sample size. |
pLarger |
The probability that a randomly chosen sample from the treatment group is larger than a randomly chosen sample from the control group under the alternative hypothesis. |
allocationRatioPlanned |
Allocation ratio for the active treatment versus control. Defaults to 1 for equal randomization. |
rounding |
Whether to round up sample size. Defaults to 1 for sample size rounding. |
kMax |
The maximum number of stages. |
informationRates |
The information rates. Fixed prior to the trial.
Defaults to |
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, ..., |
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 |
Details
The Mann-Whitney U test is a non-parametric test for the difference in location between two independent groups. It is also known as the Wilcoxon rank-sum test. The test is based on the ranks of the data rather than the actual values, making it robust to outliers and non-normal distributions. The test statistic is the number of times a randomly chosen sample from the treatment group is larger than a randomly chosen sample from the control group, i.e.,
W_{XY} = \sum_{i=1}^{n_1}\sum_{j=1}^{n_2} I(X_i > Y_j)
where X_i
and Y_j
are the samples from the
treatment and control groups, respectively.
The test is often used when the data
do not meet the assumptions of the t-test, such as
non-normality or unequal variances.
The test is also applicable to ordinal data.
The test is one-sided, meaning that it only tests
whether the treatment group is larger than the control group.
Asymptotically,
\frac{W_{XY} - n_1 n_2/2}{\sqrt{n_1 n_2 (n+1)/12}} \sim N(0,1)
\quad \text{under} H_0
where n_1
and n_2
are the sample sizes of the treatment
and control groups, respectively, and n=n_1+n_2
.
Let \theta = P(X > Y)
, and
\hat{\theta} = \frac{1}{nm}W_{XY}
. It follows that
\sqrt{n}(\hat{\theta} - 1/2) \sim
N\left(0, \frac{1}{12 r(1-r)}\right) \quad \text{under} H_0
where r = n_1/(n_1+n_2)
is the randomization probability
for the active treatment group.
This formulation allows for group sequential testing with
futility stopping and efficacy stopping.
Value
An S3 class designWilcoxon
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 totheta*sqrt(information)
. -
inflationFactor
: The inflation factor (relative to the fixed design). -
numberOfSubjects
: The maximum number of subjects. -
expectedNumberOfSubjectsH1
: The expected number of subjects under H1. -
expectedNumberOfSubjectsH0
: The expected number of subjects under H0. -
pLarger
: The probability that a randomly chosen sample from the treatment group is larger than a randomly chosen sample from the control group under the alternative hypothesis.
-
-
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. -
efficacyPLarger
: The efficacy boundaries on the proportion of pairs of samples from the two treatment groups with the sample from the treatment group greater than that from the control group. -
futilityPLarger
: The futility boundaries on the proportion of pairs of samples from the two treatment groups with the sample from the treatment group greater than that from the control group. -
numberOfSubjects
: The number of subjects.
-
-
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
: Allocation ratio for the active treatment versus control. -
rounding
: Whether to round up sample size.
-
Author(s)
Kaifeng Lu, kaifenglu@gmail.com
Examples
# Example 1: fixed design
(design1 <- getDesignWilcoxon(
beta = 0.1, n = NA,
pLarger = pnorm((8 - 2)/sqrt(2*25^2)), alpha = 0.025))
# Example 2: group sequential design
(design2 <- getDesignWilcoxon(
beta = 0.1, n = NA,
pLarger = pnorm((8 - 2)/sqrt(2*25^2)), alpha = 0.025,
kMax = 3, typeAlphaSpending = "sfOF"))