sim_A_optimal_unknown_var {RARtrials} | R Documentation |
Simulate a Trial Using A-Optimal Allocation for Continuous Endpoint with Unknown Variances
Description
sim_A_optimal_unknown_var
simulates a trial for continuous endpoints with unknown variances,
and the allocation probabilities change based on results of accumulated participants in the trial.
Usage
sim_A_optimal_unknown_var(
Pats,
nMax,
TimeToOutcome,
enrollrate,
N1,
N2,
armn,
mean,
sd,
alphaa = 0.025,
armlabel,
side
)
Arguments
Pats |
the number of patients accrued within a certain time frame indicates the count of individuals who have been affected by the disease during that specific period, for example, a month or a day. If this number is 10, it represents that 10 people have got the disease within the specified time frame. |
nMax |
the assumed maximum accrued number of patients with the disease in the population, this number should be chosen carefully to ensure a sufficient number of patients are simulated, especially when considering the delay mechanism. |
TimeToOutcome |
the distribution of delayed response times or a fixed delay time for responses. The delayed time could be a month, a week or any other time frame. When the unit changes, the number of TimeToOutcome should also change. It can be in the format of expression(rnorm( length( vStartTime ),30, 3)), representing delayed responses with a normal distribution, where the mean is 30 days and the standard deviation is 3 days. |
enrollrate |
probability that patients in the population can enroll in the trial. This parameter is related to the number of people who have been affected by the disease in the population, following an exponential distribution. |
N1 |
number of participants with equal randomization in the 'initialization' period. Recommend using 10 percent of the total sample size. |
N2 |
maximal sample size for the trial. |
armn |
number of total arms in the trial. |
mean |
a vector of hypotheses of mean for all arms in the trial, with the first one serving as the control group. |
sd |
a vector of hypotheses of standard deviation for all arms in the trial, with the first one serving as the control group. |
alphaa |
the overall type I error to be controlled for the one-sided test. Default value is set to 0.025. |
armlabel |
a vector of arm labels with an example of c(1, 2), where 1 and 2 describes how each arm is labeled in a two-armed trial. |
side |
direction of a one-sided test, with values 'upper' or 'lower'. |
Details
This function aims to minimize the criteria tr[M^{-1}(\mathbf{\rho})]
and to minimize the overall variance of pairwise comparisons. It is generalized Neyman
allocation, specifically designed for continuous endpoints with known variances.
With more than two arms the one-sided nominal level of each test is alphaa
divided by arm*(arm-1)/2
; a Bonferroni correction.
Considering the delay mechanism, Pats
(the number of patients accrued within a certain time frame),
nMax
(the assumed maximum accrued number of patients with the disease in the population) and
TimeToOutcome
(the distribution of delayed response times or a fixed delay time for responses)
are parameters in the functions adapted from https://github.com/kwathen/IntroBayesianSimulation.
Refer to the website for more details.
Value
sim_A_optimal_unknown_var
returns an object of class "aoptimal". An object of class "aoptimal" is a list containing
final decision based on the T test statistics with 1 stands for selected and 0 stands for not selected,
T test statistics, the simulated data set and participants accrued for each arm
at the time of termination of that group in one trial.
The simulated data set includes 5 columns: participant ID number, enrollment time, observed time of results,
allocated arm, and participants' result.
Author(s)
Chuyao Xu, Thomas Lumley, Alain Vandal
References
Sverdlov O, Rosenberger W (2013). “On Recent Advances in Optimal Allocation Designs in Clinical Trials.” Journal of Statistical Theory and Practice, 7, 753-773. doi:10.1080/15598608.2013.783726.
Examples
#Run the function with delayed responses follow a normal distribution with
#a mean of 30 days and a standard deviation of 3 days under null hypothesis
#in a three-armed trial
sim_A_optimal_unknown_var(Pats=10,nMax=50000,TimeToOutcome=expression(
rnorm( length( vStartTime ),30, 3)),enrollrate=0.1,N1=12,N2=132,armn=3,
mean=c(9.1/100,9.1/100,9.1/100),sd=c(0.009,0.009,0.009),alphaa=0.025,
armlabel = c(1,2,3),side='upper')
#Run the function with delayed responses follow a normal distribution with
#a mean of 30 days and a standard deviation of 3 days under alternative hypothesis
#in a three-armed trial
sim_A_optimal_unknown_var(Pats=10,nMax=50000,TimeToOutcome=expression(
rnorm( length( vStartTime ),30, 3)),enrollrate=0.1,N1=12,N2=132,armn=3,
mean=c(9.1/100,9.28/100,9.28/100),sd=c(0.009,0.009,0.009),alphaa=0.025,
armlabel = c(1,2,3),side='upper')