Learn R Programming

DynTxRegime (version 3.2)

.newBOWL: Backward Outcome Weighted Learning.

Description

Estimates the optimal treatment using outcome weighted learning. Method is not exported.

Usage

.newBOWL(moPropen, regime, BOWLObj, fSet, ...)
# S4 method for ModelObj_SubsetList,formula,NULL,function
.newBOWL(moPropen, regime, BOWLObj, fSet, data, reward, txName, cvFolds, lambdas, 
         kernel, kparam, suppress)
# S4 method for modelObj,formula,NULL,NULL
.newBOWL(moPropen, regime, BOWLObj, fSet, data, reward, txName, cvFolds, lambdas,  
         kernel, kparam, suppress)
# S4 method for modelObj,formula,NULL,function
.newBOWL(moPropen, regime, BOWLObj, fSet, data, reward, txName, cvFolds, lambdas,  
         kernel, kparam, suppress)
# S4 method for ModelObj_SubsetList,list,NULL,function
.newBOWL(moPropen, regime, BOWLObj, fSet, data, reward, txName, cvFolds, lambdas,  
         kernel, kparam, suppress)
# S4 method for modelObj,list,NULL,function
.newBOWL(moPropen, regime, BOWLObj, fSet, data, reward, txName, cvFolds, lambdas,  
         kernel, kparam, suppress)
# S4 method for ModelObj_SubsetList,formula,BOWL,function
.newBOWL(moPropen, regime, BOWLObj, fSet, data, reward, txName, cvFolds, lambdas,  
         kernel, kparam, suppress)
# S4 method for modelObj,formula,BOWL,NULL
.newBOWL(moPropen, regime, BOWLObj, fSet, data, reward, txName, cvFolds, lambdas,  
         kernel, kparam, suppress)
# S4 method for modelObj,formula,BOWL,function
.newBOWL(moPropen, regime, BOWLObj, fSet, data, reward, txName, cvFolds, lambdas,  
         kernel, kparam, suppress)
# S4 method for ModelObj_SubsetList,list,BOWL,function
.newBOWL(moPropen, regime, BOWLObj, fSet, data, reward, txName, cvFolds, lambdas,  
         kernel, kparam, suppress)
# S4 method for modelObj,list,BOWL,function
.newBOWL(moPropen, regime, BOWLObj, fSet, data, reward, txName, cvFolds, lambdas,  
         kernel, kparam, suppress)

Arguments

moPropen

"modelObj" or "ModelObj_SubsetList" for propensity score regression(s).

regime

"formula" object indicating covariates to include in kernel.

BOWLObj

NULL or a "BOWL" object from a previous call to bowl()

fSet

NULL or function indicating treatment subsets.

...

Used to pass arguments that are required but the class of which does not determine the method that is selected.

data

"data.frame" of covariates and treatment history.

reward

Vector of rewards for current decision point.

txName

"character" giving name of treatment variable in data.

cvFolds

Number of cross-validation folds.

lambdas

Tuning parameter(s).

kernel

"character" description of kernel function.

kparam

NULL or "numeric" kernel parameter.

suppress

T/F indicating if screen prints are generated.

Examples

Run this code
# NOT RUN {
data(bmiData)

y12 <- -(bmiData$month12BMI - bmiData$month4BMI) / bmiData$baselineBMI * 100

y4 <- -(bmiData$month4BMI - bmiData$baselineBMI) / bmiData$baselineBMI * 100

moPropen <- buildModelObj(model=~1,
                          solver.method = 'glm',
                          solver.args = list("family"="binomial"),
                          predict.args = list("type" = "response"))

regime <- ~ parentBMI + baselineBMI + gender

bmiData$A2 <- as.factor(bmiData$A2)
bmiData$A1 <- as.factor(bmiData$A1)

obj1 <- DynTxRegime:::.newBOWL(moPropen = moPropen,
                               regime = regime,
                               BOWLObj = NULL,
                               fSet = NULL,
                               data = bmiData,
                               reward = y12,
                               txName = "A2",
                               cvFolds = 0L,
                               lambdas = 0.1,
                               kernel = "linear",
                               kparam = NULL,
                               suppress = TRUE)

is(obj1)
cvInfo(obj1)
DTRstep(obj1)
optimObj(obj1)
optTx(obj1)
optTx(obj1,bmiData)
print(obj1)
regimeCoef(obj1)
show(obj1)
summary(obj1)


fSet <- function(data){
          subsets = list(list("subset1", c("CD","MR")),
                         list("subset2", c("CD","MR")))
          txOpts <- character(nrow(data))
          txOpts[data$A1 == "CD"] <- "subset1"
          txOpts[data$A1 == "MR"] <- "subset2"

          return(list("subsets" = subsets, "txOpts" = txOpts))
        }

obj1 <- DynTxRegime:::.newBOWL(moPropen = moPropen,
                               regime = list("subset1"=regime,"subset2"=regime),
                               BOWLObj = NULL,
                               fSet = fSet,
                               data = bmiData,
                               reward = y12,
                               txName = "A2",
                               cvFolds = 0L,
                               lambdas = 0.1,
                               kernel = "linear",
                               kparam = NULL,
                               suppress = TRUE)

is(obj1)
cvInfo(obj1)
DTRstep(obj1)
optimObj(obj1)
optTx(obj1)
optTx(obj1,bmiData)
print(obj1)
regimeCoef(obj1)
show(obj1)
summary(obj1)

bmiData$A2[bmiData$A1 == "MR"] <- "CD"

fSet <- function(data){
          subsets = list(list("subset1", c("CD","MR")),
                         list("subset2", c("CD")))
          txOpts <- character(nrow(data))
          txOpts[data$A1 == "CD"] <- "subset1"
          txOpts[data$A1 == "MR"] <- "subset2"

          return(list("subsets" = subsets, "txOpts" = txOpts))
        }

obj1 <- DynTxRegime:::.newBOWL(moPropen = moPropen,
                               regime = regime,
                               BOWLObj = NULL,
                               fSet = fSet,
                               data = bmiData,
                               reward = y12,
                               txName = "A2",
                               cvFolds = 0L,
                               lambdas = 0.1,
                               kernel = "linear",
                               kparam = NULL,
                               suppress = TRUE)

is(obj1)
cvInfo(obj1)
DTRstep(obj1)
optimObj(obj1)
optTx(obj1)
optTx(obj1,bmiData)
print(obj1)
regimeCoef(obj1)
show(obj1)
summary(obj1)

obj2 <- DynTxRegime:::.newBOWL(moPropen = moPropen,
                               regime = regime,
                               BOWLObj = obj1,
                               fSet = NULL,
                               data = bmiData,
                               reward = y4,
                               txName = "A1",
                               cvFolds = 0L,
                               lambdas = 0.1,
                               kernel = "linear",
                               kparam = NULL,
                               suppress = TRUE)

is(obj2)
cvInfo(obj2)
DTRstep(obj2)
optimObj(obj2)
optTx(obj2)
optTx(obj2,bmiData)
print(obj2)
regimeCoef(obj2)
show(obj2)
summary(obj2)
# }

Run the code above in your browser using DataLab