Last chance! 50% off unlimited learning
Sale ends in
Allocates patients to one of two treatments based on covariate-adjusted biased coin design as proposed by Baldi Antognini A, Zagoraiou M (2011) <Doi:10.1093/biomet/asr021>.
# S3 method for carandom
AdjBCD(data, a = 2)
a dataframe. A row of the dataframe contains the covariate profile of a certain patient.
a design parameter. The default is 2
. As a
goes to
It returns an object of class
"carandom"
.
The function print
is used to obtain results. The generic accessor functions Cov_Assig
, Diff
, data
, All strata
and others extract various useful features of the value returned by AdjBCD
.
An object of class "carandom"
is a list containing at least the following components:
number of covariates.
number of patients.
a (cov_num + 1) * n
matrix containing covariate profiles for all patients and the corresponding assignments. The cov_num
rows include patients' covariate profiles, and the last row contains the assignment.
a matrix containing all strata involved.
a matrix with only one column. There are final differences at the overall, within-stratum, and marginal levels.
data type. Real
or Simulated
.
Consider
Let a
goes to
Details of the procedure can be found in Baldi Antognini and M. Zagoraiou (2011).
Baldi Antognini A, Zagoraiou M. The covariate-adaptive biased coin design for balancing clinical trials in the presence of prognostic factors[J]. Biometrika, 2011, 98(3): 519-535.
See AdjBCD.sim
for allocating patients with covariate data generating mechanism;
See AdjBCD.ui
for the command-line user interface.
# NOT RUN {
# a simple use
## Real Data
## create a dataframe
df <- data.frame("gender" = sample(c("female", "male"), 1000, TRUE, c(1 / 3, 2 / 3)),
"age" = sample(c("0-30", "30-50", ">50"), 1000, TRUE),
"jobs" = sample(c("stu.", "teac.", "others"), 1000, TRUE),
stringsAsFactors = TRUE)
Res <- AdjBCD(df, a = 2)
## view the output
Res
# }
# NOT RUN {
## view all patients' profile and assignments
Res$Cov_Assig
# }
# NOT RUN {
## Simulated Data
n <- 1000
cov_num <- 3
level_num <- c(2, 3, 5)
# Set pr to follow two tips:
#(1) length of pr should be sum(level_num);
#(2) sum of probabilities for each margin should be 1.
pr <- c(0.4, 0.6, 0.3, 0.4, 0.3, rep(0.2, times = 5))
# set the design parameter
a <- 1.8
# obtain result
Res.sim <- AdjBCD.sim(n, cov_num, level_num, pr, a)
# }
# NOT RUN {
# view the assignments of patients
Res.sim$Cov_Assig[cov_num + 1, ]
# view the differences between treatment 1 and treatment 2 at all levels
Res.sim$Diff
# }
Run the code above in your browser using DataLab