minimizePocSim: use the Pocock-Simon or Taves algorithm for computing...

Description Usage Arguments Details Value Examples

View source: R/mincode.R

Description

use the Pocock-Simon or Taves algorithm for computing covariate-adaptive 'minimization' allocations for a clinical trial

Usage

1
2
minimizePocSim(df, features, trtvec, obsdf, trttab, f = function(x, y) sum(abs(x + 1 - y)))
minimizeTaves(df, features, trtvec, obsdf, trttab)

Arguments

df

a data frame with columns corresponding to covariates rows corresponding to subjects

features

character vector of covariates to use

trtvec

vector of assignments made so far

obsdf

data frame for incoming observation, with values for all components enumerated in features

trttab

table of treatment ratios

f

score that determines impending allocation

Details

These functions are generally not called directly. See the vignette; if supplied as the method slot of a MinimizationDesc object the appropriate data are assembled as arguments to these functions.

Value

a treatment code

Examples

1
2
new("MinimizationDesc", treatments=c(A=1L, B=1L), method=minimizePocSim,
   type="Minimization", featuresInUse="sex")

Example output

An object of class "MinimizationDesc"
Slot "method":
function (df, features, trtvec, obsdf, trttab, f = function(x, 
    y) sum(abs(x + 1 - y))) 
{
    picks = factorCounts(df, features, trtvec, obsdf)
    if (length(picks) > 2) 
        stop("only works for two-arm studies")
    if (length(picks) < 2) {
        return(sample(rep(names(trttab), times = trttab), size = 1))
    }
    sco1 = f(picks[[1]], picks[[2]])
    if (length(sco1) != 1 || !is.numeric(sco1)) 
        stop("f must return numeric scalar")
    sco2 = f(picks[[2]], picks[[1]])
    ans = names(picks)
    ifelse(sco1 > sco2, ans[2], ans[1])
}
<environment: namespace:randPack>

Slot "featuresInUse":
[1] "sex"

Slot "treatments":
A B 
1 1 

Slot "type":
[1] "Minimization"

randPack documentation built on Nov. 8, 2020, 5:32 p.m.