View source: R/master_function.R
SubgrpID | R Documentation |
Exploratory Subgroup Identification main function
SubgrpID(
data.train,
data.test = NULL,
yvar,
censorvar = NULL,
trtvar = NULL,
trtref = NULL,
xvars,
type = "c",
n.boot = 25,
des.res = "larger",
min.sigp.prcnt = 0.2,
pre.filter = NULL,
filter.method = NULL,
k.fold = 5,
cv.iter = 20,
max.iter = 500,
mc.iter = 20,
method = c("Seq.BT"),
do.cv = FALSE,
out.file = NULL,
file.path = "",
plots = FALSE
)
data.train |
data frame for training dataset |
data.test |
data frame for testing dataset, default = NULL |
yvar |
variable (column) name for response variable |
censorvar |
variable name for censoring (1: event; 0: censor), default = NULL |
trtvar |
variable name for treatment variable, default = NULL (prognostic signature) |
trtref |
coding (in the column of trtvar) for treatment arm |
xvars |
vector of variable names for predictors (covariates) |
type |
type of response variable: "c" continuous; "s" survival; "b" binary |
n.boot |
number of bootstrap for batting procedure, or the variable selection procedure for PRIM; for PRIM, when n.boot=0, bootstrapping for variable selection is not conducted |
des.res |
the desired response. "larger": prefer larger response. "smaller": prefer smaller response |
min.sigp.prcnt |
desired proportion of signature positive group size for a given cutoff |
pre.filter |
NULL (default), no prefiltering conducted;"opt", optimized number of predictors selected; An integer: min(opt, integer) of predictors selected |
filter.method |
NULL (default), no prefiltering; "univariate", univaraite filtering; "glmnet", glmnet filtering; "unicart", univariate rpart filtering for prognostic case |
k.fold |
cross-validation folds |
cv.iter |
Algotithm terminates after cv.iter successful iterations of cross-validation, or after max.iter total iterations, whichever occurs first |
max.iter |
total iterations, whichever occurs first |
mc.iter |
number of iterations for the Monte Carlo procedure to get a stable "best number of predictors" |
method |
current version only supports sequential-BATTing ("Seq.BT") for subgroup identification |
do.cv |
whether to perform cross validation for performance evaluation. TRUE or FALSE (Default) |
out.file |
Name of output result files excluding method name. If NULL no output file would be saved |
file.path |
default: current working directory. When specifying a dir, use "/" at the end. e.g. "TEMP/" |
plots |
default: FALSE. whether to save plots |
Function for SubgrpID
A list with SubgrpID output
list of all results from the algorithm
list of subgroup statistics on training dataset
list of subgroup statistics on testing dataset
list of all results from cross-validation on training dataset
interaction plot for training dataset
interaction plot for testing dataset
# no run
n <- 40
k <- 5
prevalence <- sqrt(0.5)
rho<-0.2
sig2 <- 2
rhos.bt.real <- c(0, rep(0.1, (k-3)))*sig2
y.sig2 <- 1
yvar="y.binary"
xvars=paste("x", c(1:k), sep="")
trtvar="treatment"
prog.eff <- 0.5
effect.size <- 1
a.constent <- effect.size/(2*(1-prevalence))
set.seed(888)
ObsData <- data.gen(n=n, k=k, prevalence=prevalence, prog.eff=prog.eff,
sig2=sig2, y.sig2=y.sig2, rho=rho,
rhos.bt.real=rhos.bt.real, a.constent=a.constent)
TestData <- data.gen(n=n, k=k, prevalence=prevalence, prog.eff=prog.eff,
sig2=sig2, y.sig2=y.sig2, rho=rho,
rhos.bt.real=rhos.bt.real, a.constent=a.constent)
subgrp <- SubgrpID(data.train=ObsData$data,
data.test=TestData$data,
yvar=yvar,
trtvar=trtvar,
trtref="1",
xvars=xvars,
type="b",
n.boot=5, # suggest n.boot > 25, depends on sample size
des.res = "larger",
# do.cv = TRUE,
# cv.iter = 2, # uncomment to run CV
method="Seq.BT")
subgrp$res
subgrp$train.stat
subgrp$test.stat
subgrp$train.plot
subgrp$test.plot
#subgrp$cv.res$stats.summary #CV estimates of all results
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.