Title: | Qualitative Interaction Trees |
---|---|
Description: | Grows a qualitative interaction tree. Quint is a tool for subgroup analysis, suitable for data from a two-arm randomized controlled trial. More information in Dusseldorp, E., Doove, L., & Van Mechelen, I. (2016) <doi:10.3758/s13428-015-0594-z>. |
Authors: | Elise Dusseldorp [aut, cre, cph], Lisa Doove [aut], Jeanne van de Put [aut], Cor Ninaber [ctb] (supported with the plot function), Iven Van Mechelen [aut, cph], Juan Claramunt Gonzalez [aut] |
Maintainer: | Elise Dusseldorp <[email protected]> |
License: | GPL (>= 3) |
Version: | 2.2.2 |
Built: | 2024-11-06 03:42:32 UTC |
Source: | https://github.com/cran/quint |
When two treatment alternatives (say A and B) are available for some problem, one may be interested in qualitative treatment-subgroup interactions. Such interactions imply the existence of subgroups of persons (patients) which are such that in one subgroup Treatment A outperforms Treatment B, whereas the reverse holds in another subgroup. Obviously, this type of interactions is crucial for optimal treatment assignment of future patients. Given baseline characteristics and outcome data from a two-arm Randomized Controlled Trial (RCT), QUalitative INteraction Trees (QUINT) is a tool to identify subgroups that are involved in meaningful qualitative treatment-subgroup interactions. The result of QUINT is a tree that partitions the total group of participants (patients) on the basis of their baseline characteristics into three subgroups (i.e., partition classes): Subgroup 1: Those for whom Treatment A is better than Treatment B (P1), Subgroup 2: Those for whom Treatment B is better than Treatment A (P2), and Subgroup 3: Those for whom it does not make any difference (P3).
Package: | quint |
Type: | Package |
Version: | 2.2.0 |
Date: | 2020-02-03 |
License: | GPL |
This method is suitable for a continuous outcome variable. From version 1.2 onwards
the baseline variables for growing a tree may have numerical
or integer values (such as continuous, ordinal or dichotomous variables) or may be nominal
(categorical variables with factors). Previously only numerical or dichotomous variables
were supported. Another new feature of this version is that
the output of a quint
object can now also display results for either the raw difference
in means or the effect size with corresponding standard error. This depends on the criterion
specified. Furthermore a predict function predict.quint
is newly included in this
package. The final new feature is a validate function quint.validate
for estimating
the bias (i.e., optimism) of a grown QUINT tree.
From version 2.0 onwards the qualitative treatment-subgroup interaction is checked during the prune of the tree and not at the begining of QUINT. Furthermore, it is possible to obtain outcomes from the summary and predict functions when the tree only contains the root node.
The core function of the package is quint
.
Maintainer: Elise Dusseldorp <[email protected]>
Dusseldorp, E., Doove, L., & Van Mechelen, I. (2016). Quint: An R package for the identification of subgroups of clients who differ in which treatment alternative is best for them. Behavior Research Methods, 48(2), 650-663. DOI 10.3758/s13428-015-0594-z
Dusseldorp E. and Van Mechelen I. (2014). Qualitative interaction trees: a tool to identify qualitative treatment-subgroup interactions. Statistics in Medicine, 33(2), 219-237. DOI: 10.1002/sim.5933.
Scheier M.F., Helgeson V.S., Schulz R., et al.(2007). Moderators of interventions designed to enhance physical and psychological functioning among younger women with early-stage breast cancer. Journal of Clinical Oncology, 25, 5710-5714. DOI: 10.1200/JCO.2007.11.7093.
quint
,summary.quint
,quint.control
,
prune.quint
,predict.quint
,quint.validate
,
quint.bootstrapCI
Data from a three-arm randomized controlled trial. Women with early-stage
breast cancer were randomly assigned to a nutrition intervention ( = 85),
an education intervention (
= 83) or standard care (
= 84).
They were measured before and after treatment. These data contain the baseline
measurement and the 9-month follow-up.
bcrp
bcrp
A data frame with 252 observations on the following 14 variables:
physt1
physical functioning (from SF-36) at baseline.
cesdt1
depression score (CESD) at baseline.
physt3
physical functioning (from SF-36) at 9 months follow-up.
cesdt3
depression score (CESD) at 9 months follow-up.
negsoct1
negative social interaction at baseline.
uncomt1
unmitigated communion at baseline.
disopt1
dispositional optimism at baseline.
comorbid
number of comorbidities (e.g. diabetes, migraines, arthritis, or angina).
age
age at baseline.
wcht1
weight change since diagnosis: yes [1] or no [0].
nationality
Caucasian [1] or not [0].
marital
married [1] or not [0].
trext
treatment extensiveness index: lumpectomy without or with one form of adjuvant therapy (radiation or chemo) [-1.77], lumpectomy with radiation and chemotherapy [0.26], mastectomy without or with lumpectomy, and without or with one form of adjuvant therapy [0.56], mastectomy without or with lumpectomy, and radiation and chemotherapy [2.59].
cond
experimental condition: nutrition [1], education [2] or standard care [3].
IMPORTANT: for questions about these data contact Elise Dusseldorp: [email protected].
The authors thank M.F. Scheier for making his data available.
If you use these data, please refer to: Scheier M.F., Helgeson V.S., Schulz R., et al. (2007). Moderators of interventions designed to enhance physical and psychological functioning among younger women with early-stage breast cancer. Journal of Clinical Oncology, 25, 5710-5714.
An example of a complete analysis on these data using the quint
package is given in:
Dusseldorp, E., Doove, L., & Van Mechelen, I. (2016). Quint:
An R package for the identification of subgroups of clients who differ in
which treatment alternative is best for them. Behavior Research Methods,
48(2), 650-663. DOI 10.3758/s13428-015-0594-z.
An application of quint
to these data is given in:
Dusseldorp E. and Van Mechelen I. (2014). Qualitative interaction trees:
a tool to identify qualitative treatment-subgroup interactions.
Statistics in Medicine, 33(2), 219-237. DOI: 10.1002/sim.5933.
Plot function for a quint
object. The plot shows the result of quint
:
a binary tree with (a) splitting variable(s) and split point(s). The colors of the
leaves of the tree correspond to the final subgroups: Subgroup 1 (P1), those
patients for whom the mean treatment outcome (Y) is higher for Treatment A than B,
is GREEN; Subgroup 2 (P2), those patients for whom the mean treatment outcome (Y)
is higher for Treatment B than A, is RED, and Subgroup 3 (P3), those for whom the
mean treatment outcome (Y) is about the same for both treatments, is GREY. Within the
leaves the effect size d is displayed, with its 95 percent confidence interval.
This effect size is the standardized mean difference between Treatment A and B.
The plot function uses the plot method from the package partykit of Hothorn
& Zeileis (2013).
## S3 method for class 'quint' plot(x, digits = 2, ...)
## S3 method for class 'quint' plot(x, digits = 2, ...)
x |
fitted tree of class |
digits |
specified number of decimal places of the splitpoints in the graph (default is 2). |
... |
additional arguments to be passed. |
For categorical variables we recommend to use short names for levels to avoid overlapping labels at split points.
Cor Ninaber and Elise Dusseldorp
Torsten Hothorn and Achim Zeileis (2013). partykit: A Toolkit for Recursive Partytioning. R package version 0.1-5.
Predicts for (new) subjects the treatment subgroups (P1, P2 or P3) based on a fitted
quint
object. The meaning of the subgroups are based on the two treatment categories
used to fit the quint
object.
## S3 method for class 'quint' predict(object, newdata, type = "class", ...)
## S3 method for class 'quint' predict(object, newdata, type = "class", ...)
object |
an object of the class “quint”. |
newdata |
a data frame with data on new subjects for whom predictions should be made. The data frame should contain at least the variables used in the splits of the fitted tree. It is not necessary to include the treatment variable. |
type |
character string denoting the type of predicted object to be returned. The default is
set to |
... |
optional additional arguments. |
One of the following objects is returned depending on output type specified in the function:
If type="class"
:
vector of predicted treatment classes for every individual in the data set. Returns NA
for subjects with missing values on one or more of the splitting variables.
If type="matrix"
:
a matrix with predicted locations of subjects within the fitted tree. The leaf numbers are
in the first column and the corresponding node numbers in the second column. Returns NA
for subjects with missing values on one or more of the splitting variables.
data(bcrp) formula1<- I(cesdt1-cesdt3)~cond | nationality+marital+wcht1+age+ trext+comorbid+disopt1+uncomt1+negsoct1 set.seed(10) control1<-quint.control(maxl=5,B=2) quint1<-quint(formula1, data= subset(bcrp,cond<3),control=control1) #Grow a QUINT tree prquint1<-prune(quint1) #Prune QUINT tree to optimal size #Predict for the same data set the treatment classes for patients individually: predquint1<-predict(prquint1, newdata=subset(bcrp,cond<3), type='class') predquint1
data(bcrp) formula1<- I(cesdt1-cesdt3)~cond | nationality+marital+wcht1+age+ trext+comorbid+disopt1+uncomt1+negsoct1 set.seed(10) control1<-quint.control(maxl=5,B=2) quint1<-quint(formula1, data= subset(bcrp,cond<3),control=control1) #Grow a QUINT tree prquint1<-prune(quint1) #Prune QUINT tree to optimal size #Predict for the same data set the treatment classes for patients individually: predquint1<-predict(prquint1, newdata=subset(bcrp,cond<3), type='class') predquint1
Determines the optimally pruned size of the tree by applying the one standard error rule to the results from the bias-corrected bootstrap procedure. At the end of the pruning procedure, it is checked whether the pruned tree satisfies the qualitative interaction condition. If this condition is not met, it is concluded that there is no qualitative tratment-subgroup interaction and a tree containing only the root node is returned.
## S3 method for class 'quint' prune(tree, pp = 1, ...)
## S3 method for class 'quint' prune(tree, pp = 1, ...)
tree |
fitted tree of the class |
pp |
pruning parameter, the constant ( |
... |
optional additional arguments. |
The pruning algorithm of quint
is explained in Dusseldorp
& Van Mechelen (2014), Appendix B of the online supplementary material. It is
based on the bias-corrected bootstrap pruning procedure (Le Blanc & Crowley, 1993)
and the one standard error rule (Breiman, Friedman, Olshen, & Stone, 1984).
The one standard error rule for quint
uses the estimates of the bias-corrected
criterion value () and its standard error for each value of
(= maximum number of leaves). The optimally pruned tree corresponds to the
smallest tree with a bias-corrected
higher or equal to the maximum
bias-corrected
minus its standard error.
Returns an object of class quint
. The number of leaves of this object is
equal to the optimally pruned size of the tree.
Breiman L., Friedman J.H., Olshen R.A. and Stone C.J. (1984). Classification and Regression Trees. Chapman & Hall/CRC: Boca Raton.
Dusseldorp E. and Van Mechelen I. (2014). Qualitative interaction trees: a tool to identify qualitative treatment-subgroup interactions. Statistics in Medicine, 33(2), 219-237. DOI: 10.1002/sim.5933.
LeBlanc M. and Crowley J. (1993). Survival trees by goodness of split. Journal of the American Statistical Association, 88, 457-467.
quint.control
, quint
, quint.bootstrapCI
data(bcrp) formula2 <- I(cesdt1-cesdt3)~cond |age+trext+uncomt1+disopt1+negsoct1 #Adjust the control parameters only to save computation time in the example; #The default control parameters are preferred control2 <- quint.control(maxl=5,B=2) set.seed(2) #this enables you to repeat the results of the bootstrap procedure quint2 <- quint(formula2, data= subset(bcrp,cond<3),control=control2) quint2pr <- prune(quint2) summary(quint2pr)
data(bcrp) formula2 <- I(cesdt1-cesdt3)~cond |age+trext+uncomt1+disopt1+negsoct1 #Adjust the control parameters only to save computation time in the example; #The default control parameters are preferred control2 <- quint.control(maxl=5,B=2) set.seed(2) #this enables you to repeat the results of the bootstrap procedure quint2 <- quint(formula2, data= subset(bcrp,cond<3),control=control2) quint2pr <- prune(quint2) summary(quint2pr)
This is the core function of the package. It performs a subgroup analysis
by QUalitative INteraction Trees (QUINT; Dusseldorp & Van Mechelen, 2014) and
is suitable for data from a two-arm randomized controlled trial. Ingredients
of the analysis are: one continuous outcome variable (the effect
variable), one dichotomous treatment variable
(indicating two treatment
conditions, e.g., A and B), and several background characteristics
.
These background characteristics are measured at baseline and may have a numeric or
ordinal measurement level (i.e., in R a numeric or integer variable) or a nominal measurement
level (i.e., in R a factor). They are used to identify the following subgroups (i.e., partition
classes): Subgroup 1: Those patients for whom Treatment A is better than
Treatment B (P1); Subgroup 2: Those for whom Treatment B is better than
Treatment A (P2), and Subgroup 3: Those for whom it does not make any difference (P3).
quint(formula, data, control = NULL)
quint(formula, data, control = NULL)
formula |
a description of the model to be fit. The format is |
data |
a dataframe containing the variables in the model. The treatment variable can be
a numeric or a factor variable with two values (or levels). WARNING: The names of your
variables should not include commas. Otherwise, |
control |
a list with control parameters as returned by |
The method QUINT uses a sequential partitioning algorithm. The algorithm starts with a tree consisting of a single node, that is, the root node containing all patients. Next, it follows a stepwise binary splitting procedure. This procedure implies that in each step a node, a baseline characteristic, a split of that characteristic, and an assignment of the leaves of the current tree to partition classes 1, 2, and 3 (P1 to P3) are chosen that maximize the partitioning criterion. Note that this means that after each split, all leaves of the tree are re-assigned afresh to the partition classes P1, P2, and P3.
Returns an object of class quint
with components:
call |
the call that created the object. |
crit |
the partitioning criterion used to grow the tree. The default is the Effect size criterion. Use crit="dm" for the Difference in means criterion. |
control |
the control parameters used in the analysis. |
fi |
the fit information of the final tree. |
si |
the split information of the final tree. |
li |
the leaf information of the final tree. Treatment A is denoted with |
data |
the data used to grow the tree. |
orig_data |
the original data used as input. |
nind |
an |
siboot |
an |
indexboot |
an |
formula |
a description of the model to be fit. |
pruned |
a boolean indicating whether the tree has been already pruned or not. |
Dusseldorp, E., Doove, L., & Van Mechelen, I. (2016). Quint: An R package for the identification of subgroups of clients who differ in which treatment alternative is best for them. Behavior Research Methods, 48(2), 650-663. DOI 10.3758/s13428-015-0594-z
Dusseldorp E. and Van Mechelen I. (2014). Qualitative interaction trees: a tool to identify qualitative treatment-subgroup interactions. Statistics in Medicine, 33(2), 219-237. DOI: 10.1002/sim.5933.
Zeileis A. and Croissant Y. (2010). Extended model formulas in R: Multiple parts and multiple responses. Journal of Statistical Software, 34(1), 1-13.
van der Geest M. (2018). Decision Trees: Amelioration, Simulation, Application. Can be found in: https://openaccess.leidenuniv.nl/handle/1887/65935
summary.quint
, quint.control
,
prune.quint
, bcrp
, quint.bootstrapCI
#EXAMPLE with data from the Breast Cancer Recovery Project data(bcrp) #Start with expliciting the model for quint #The outcome Y is a change score between timepoint 3 and timepoint 1 #A positive Y value indicates an improvement in depression (i.e., a decrease) formula1<- I(cesdt1-cesdt3)~cond | nationality+marital+wcht1+age+ trext+comorbid+disopt1+uncomt1+negsoct1 #Perform a quint analysis #The BCRP data contain 3 conditions. Quint only works now for 2 conditions. #For the example, we disregard the control condition #To save computation time, we also adjust the control parameters set.seed(2) control1<-quint.control(maxl=5,B=2) #The recommended number of bootstraps is 25. quint1<-quint(formula1, data= subset(bcrp,cond<3),control=control1) quint1pr<-prune(quint1) #Inspect the main results of the analysis: summary(quint1pr) #plot the tree plot(quint1pr)
#EXAMPLE with data from the Breast Cancer Recovery Project data(bcrp) #Start with expliciting the model for quint #The outcome Y is a change score between timepoint 3 and timepoint 1 #A positive Y value indicates an improvement in depression (i.e., a decrease) formula1<- I(cesdt1-cesdt3)~cond | nationality+marital+wcht1+age+ trext+comorbid+disopt1+uncomt1+negsoct1 #Perform a quint analysis #The BCRP data contain 3 conditions. Quint only works now for 2 conditions. #For the example, we disregard the control condition #To save computation time, we also adjust the control parameters set.seed(2) control1<-quint.control(maxl=5,B=2) #The recommended number of bootstraps is 25. quint1<-quint(formula1, data= subset(bcrp,cond<3),control=control1) quint1pr<-prune(quint1) #Inspect the main results of the analysis: summary(quint1pr) #plot the tree plot(quint1pr)
A bootstrap algorithm based on Loh et al. (2015) to estimate the confidence intervals of the difference in mean outcome between the two treatments in each leaf.
quint.bootstrapCI(tree, n_boot, boot_r = 1)
quint.bootstrapCI(tree, n_boot, boot_r = 1)
tree |
a (pruned) quint object of class |
n_boot |
number of bootstrap samples. |
boot_r |
bootstrap sample size expressed as proportion of total sample size. Default value is 1. |
The details of this validation procedure are described in "Instability of QUalitative INteraction Trees: Quantifying uncertainty in decision trees." ( https://openaccess.leidenuniv.nl/handle/1887/83059)
Returns two lists: A first one ($tree) containing an object of the class quint
, and a list ($bootinfo) with
estimates obtained from the bootstrap procedure containing the following components:
nleaves |
vector containing the number of leaves in each of the estimated trees in the bootstrap samples. |
meanT_1 |
a matrix containing for each bootstrap sample (= rows) the mean outcome for Treatment A (T=1) in each leaf of the input quint tree (= columns) using the subjects in the intersection. |
meanT_2 |
a matrix containing for each bootstrap sample (= rows) the mean outcome for Treatment B (T=2) in each leaf of the input quint tree (= columns) using the subjects in the intersection.a matrix containing the mean outcome for Treatment 2 in each leaf using the subjects in the intersection. |
meandif |
a matrix containing the difference in means between Treatment A and Treatment B in each leaf for each bootstrap sample. |
bias_est |
vector containing the bias in each leaf of the quint tree. |
meanboot |
vector containing the bootstrap estimates of the difference of means between treatments in each leaf. |
CIs |
vector containing the confidence intervals of the estimate of the difference of means between treatments in each leaf. |
se_est |
vector containing the new estimates of the standard error of the difference of means between treatments in each leaf. |
Dusseldorp E. and Van Mechelen I. (2014). Qualitative interaction trees: a tool to identify qualitative treatment-subgroup interactions. Statistics in Medicine, 33(2), 219-237. DOI: 10.1002/sim.5933. Beck C., Dusseldorp E. and Fokkema M. (2019). Instability of QUalitative INteraction Trees: Quantifying uncertainty in decision trees. (https://openaccess.leidenuniv.nl/handle/1887/83059))
quint
, prune.quint
, quint.control
## Not run: data(bcrp) formula1<- I(cesdt1-cesdt3)~cond | nationality+marital+wcht1+age+ trext+comorbid+disopt1+uncomt1+negsoct1 set.seed(10) control1<-quint.control(maxl=5, B=2, crit="dm") quint1<-quint(formula1, data= subset(bcrp,bcrp$cond<3),control=control1) #Grow a QUINT tree prquint1<-prune(quint1) #Prune tree to optimal size bootquint1<-quint.bootstrapCI(prquint1, n_boot = 5) #apply the bootstrap procedure #the summary of the tree with the new standard errors obtained from the bootstrap procedure summary(bootquint1$tree) #all results of the bootstrap procedure bootquint1$bootinfo #plot wiht 95% confidence intervals using the new standard errors plot(bootquint1$tree) ## End(Not run)
## Not run: data(bcrp) formula1<- I(cesdt1-cesdt3)~cond | nationality+marital+wcht1+age+ trext+comorbid+disopt1+uncomt1+negsoct1 set.seed(10) control1<-quint.control(maxl=5, B=2, crit="dm") quint1<-quint(formula1, data= subset(bcrp,bcrp$cond<3),control=control1) #Grow a QUINT tree prquint1<-prune(quint1) #Prune tree to optimal size bootquint1<-quint.bootstrapCI(prquint1, n_boot = 5) #apply the bootstrap procedure #the summary of the tree with the new standard errors obtained from the bootstrap procedure summary(bootquint1$tree) #all results of the bootstrap procedure bootquint1$bootinfo #plot wiht 95% confidence intervals using the new standard errors plot(bootquint1$tree) ## End(Not run)
Various parameters that control aspects of the “quint” algorithm. Appendix A of Dusseldorp & Van Mechelen (2013) gives a detailed overview of the choices that can be made.
quint.control( crit = "es", maxl = 10, a1 = NULL, a2 = NULL, w = NULL, Bootstrap = TRUE, B = 25, dmin = 0.3 )
quint.control( crit = "es", maxl = 10, a1 = NULL, a2 = NULL, w = NULL, Bootstrap = TRUE, B = 25, dmin = 0.3 )
crit |
the type of difference in treatment outcome used in the partitioning criterion: "es" (Treatment effect sizes) or "dm" (Difference in treatment means). |
maxl |
maximum number of leaves ( |
a1 |
the minimal sample size of Treatment A ( |
a2 |
the minimal sample size of Treatment B ( |
w |
a vector with w1 and w2 representing the weights of, respectively,
the Difference in treatment outcome component and the Cardinality component
of the partitioning criterion. If crit = "dm", the default value of |
Bootstrap |
whether the bias-corrected bootstrap procedure should be performed. The default is TRUE. |
B |
the number of bootstrap samples to be drawn. The default is 25. We recommend a number of bootstraps of at least 25. |
dmin |
the minimum absolute standardized mean difference in treatment outcome in one of the leaves assigned to P1 and one of the leaves assigned to P2 of the pruned tree. This value is used to check whether a qualitative interaction is present in the data (the qualitative interaction condition); dmin controls the balance between Type I error and Type II error. The default value of dmin is 0.30. |
A list containing the options.
Dusseldorp, E., Doove, L., & Van Mechelen, I. (2016). Quint: An R package for the identification of subgroups of clients who differ in which treatment alternative is best for them. Behavior Research Methods, 48(2), 650-663. DOI 10.3758/s13428-015-0594-z
Dusseldorp E. and Van Mechelen I. (2014). Qualitative interaction trees: a tool to identify qualitative treatment-subgroup interactions. Statistics in Medicine, 33(2), 219-237. DOI: 10.1002/sim.5933.
data(bcrp) formula1<- I(cesdt1-cesdt3)~cond | nationality+marital+wcht1+age+ trext+comorbid+disopt1+uncomt1+negsoct1 #Specify the Difference in treatment outcome as Difference in means #and skip the bias-corrected bootstrap procedure #and change the maximum number of leaves control3<-quint.control(crit="dm",Bootstrap=FALSE,maxl=3) quint3<-quint(formula1, data= subset(bcrp,cond<3),control=control3) summary(quint3) #Set number of bootstrap samples at 30 control4<-quint.control(B=30) #Set minimal sample size in each treatment group at 5 control5<-quint.control(a1=5,a2=5)
data(bcrp) formula1<- I(cesdt1-cesdt3)~cond | nationality+marital+wcht1+age+ trext+comorbid+disopt1+uncomt1+negsoct1 #Specify the Difference in treatment outcome as Difference in means #and skip the bias-corrected bootstrap procedure #and change the maximum number of leaves control3<-quint.control(crit="dm",Bootstrap=FALSE,maxl=3) quint3<-quint(formula1, data= subset(bcrp,cond<3),control=control3) summary(quint3) #Set number of bootstrap samples at 30 control4<-quint.control(B=30) #Set minimal sample size in each treatment group at 5 control5<-quint.control(a1=5,a2=5)
A bootstrap-based validation procedure to estimate the optimism in the effect sizes of a QUINT tree which gives insight in the generalizability of the results.
quint.validate(object, B = 10, allresults = FALSE)
quint.validate(object, B = 10, allresults = FALSE)
object |
a (pruned) QUINT tree object of class |
B |
number of bootstrap samples. Default number is 10; for better accuracy |
allresults |
option to return an extended list of output. Default is set to FALSE. See Value section for details. |
In this procedure bootstrap trees are grown of the same leaf size as the (pruned) QUINT tree. The bootstrap samples are drawn from the data used to grow the original tree. For every bootstrap tree the largest and smallest (i.e., largest negative) treatment mean differences (or treatment effect sizes) of two leaves are saved. Treatment mean differences in the leaves are then predicted using the original data set as input for each bootstrapped tree. From these predictions, the largest and smallest treatment mean differences are saved. For each bootstrap tree, the largest predicted treatment effect is subtracted from the largest treatment effect in the bootstrap sample. The average of these values is the bias (i.e., the optimism) for the largest treatment effects. This is done likewise for the smallest treatment effects. Subsequently, the bias is computed as the difference between the bias for the largest effects minus the bias for the smallest effects.
The details of this validaton procedure are described in Appendix C of Dusseldorp & Van Mechelen (2014).
Returns a list with the following components:
estopt |
the estimated optimism for either the treatment effect size (biasd) or the raw treatment mean difference (biasdif). |
li |
a data frame with leaf information output similar to the leaf information output of the (pruned) QUINT tree object. An extra column is added for the bias-corrected differences in treatment outcomes (d or diff). The bias-corrected values are only computed for the leaves with the most extreme values, i.e. the largest and smallest treatment effects. Hence, the other leaves get the value NA in this column. |
optd |
a matrix with computed estimated optimism of the treatment effect size per
bootstrapp tree. The first column contains the difference between the largest and smallest
effect size of the bootstrapped tree. The second column contains the difference between the
largest and smallest predicted effect size. Returned when |
optdif |
a matrix with computed estimated optimism of the raw mean difference bootstrapped tree.
The first column contains the difference between the largest and smallest raw mean difference of
the bootstrapped tree. The second column contains the difference between the
largest and smallest predicted raw mean difference. Returned when |
resultd |
a vector with the estimated overall mean optimism, the mean bias for the smallest
and for the largest effect size. Returned when |
resultdif |
a vector with the estimated overall mean optimism, the mean bias for the smallest and
largest raw mean difference. Returned when |
Dusseldorp E. and Van Mechelen I. (2014). Qualitative interaction trees: a tool to identify qualitative treatment-subgroup interactions. Statistics in Medicine, 33(2), 219-237. DOI: 10.1002/sim.5933.
quint
, prune.quint
, quint.control
, quint.bootstrapCI
## Not run: data(bcrp) formula1<- I(cesdt1-cesdt3)~cond | nationality+marital+wcht1+age+ trext+comorbid+disopt1+uncomt1+negsoct1 set.seed(10) control1<-quint.control(maxl=5,B=2) quint1<-quint(formula1, data= subset(bcrp,cond<3),control=control1) #Grow a QUINT tree prquint1<-prune(quint1) #Prune tree to optimal size set.seed(3) valquint1<-quint.validate(prquint1, B = 5) #estimate the optimism by bootstrapping 5 times valquint1 ## End(Not run)
## Not run: data(bcrp) formula1<- I(cesdt1-cesdt3)~cond | nationality+marital+wcht1+age+ trext+comorbid+disopt1+uncomt1+negsoct1 set.seed(10) control1<-quint.control(maxl=5,B=2) quint1<-quint(formula1, data= subset(bcrp,cond<3),control=control1) #Grow a QUINT tree prquint1<-prune(quint1) #Prune tree to optimal size set.seed(3) valquint1<-quint.validate(prquint1, B = 5) #estimate the optimism by bootstrapping 5 times valquint1 ## End(Not run)
Data generated sampling from a multivariate normal distribution using as parameters = 150,
= 1.0,
= 20,
= 0 where samp is the sample size, es is the effect size,
J is the number os covariates, and rho is the correlation between pairs of covariates.
The treatment condition (A) is sampled from a binomial distribution with
= 0.5 and
the treatment outcome (Y) is obtained using the following regression
where the error is sampled from a standard normal distribution.
SimData_1
SimData_1
A data frame with 150 observations on the following variables:
Y
Outcome variable. It is obtained by regression according to the previously explained formula.
A
This is the treatment condition variable. It is sampled from a binomial distribution.
X1
Simulated covariate. It is sampled from a multivariate normal distribution.
X2
Simulated covariate. It is sampled from a multivariate normal distribution.
X3
Simulated covariate. It is sampled from a multivariate normal distribution.
X4
Simulated covariate. It is sampled from a multivariate normal distribution.
X5
Simulated covariate. It is sampled from a multivariate normal distribution.
X6
Simulated covariate. It is sampled from a multivariate normal distribution.
X7
Simulated covariate. It is sampled from a multivariate normal distribution.
X8
Simulated covariate. It is sampled from a multivariate normal distribution.
X9
Simulated covariate. It is sampled from a multivariate normal distribution.
X10
Simulated covariate. It is sampled from a multivariate normal distribution.
X11
Simulated covariate. It is sampled from a multivariate normal distribution.
X12
Simulated covariate. It is sampled from a multivariate normal distribution.
X13
Simulated covariate. It is sampled from a multivariate normal distribution.
X14
Simulated covariate. It is sampled from a multivariate normal distribution.
X15
Simulated covariate. It is sampled from a multivariate normal distribution.
X16
Simulated covariate. It is sampled from a multivariate normal distribution.
X17
Simulated covariate. It is sampled from a multivariate normal distribution.
X18
Simulated covariate. It is sampled from a multivariate normal distribution.
X19
Simulated covariate. It is sampled from a multivariate normal distribution.
X20
Simulated covariate. It is sampled from a multivariate normal distribution.
gopt
Variable indicating whether the data is simulated such that there is qualitative interaction (0) or there is no qualitative interaction (1)
IMPORTANT: for questions about these data contact Elise Dusseldorp: [email protected].
Summary method for an object of class quint
.
## S3 method for class 'quint' summary(object, digits = 2, ...)
## S3 method for class 'quint' summary(object, digits = 2, ...)
object |
a |
digits |
specified number of decimal places (default is 2). |
... |
optional additional arguments. |
This function is a method for the generic function summary for class
quint
. It extracts the following essential components from a quint
object: 1) Specification of the partitioning criterion; 2) Fit information;
3) Split information, and 4) Leaf information.
prints a summarized version of the quint
output.
data(bcrp) formula1<- I(cesdt1-cesdt3)~cond | nationality+marital+wcht1+ age+trext+comorbid+disopt1+uncomt1+negsoct1 control1<-quint.control(maxl=5,Bootstrap=FALSE) quint1<-quint(formula1, data= subset(bcrp,cond<3),control=control1 ) summary(quint1) ##############################################3 # Example with only root node tree as outcome data(SimData_1) formula<- Y~A |X1+X2+X3+X4+X5 #Adjust the control parameters only to save computation time in the example; #The default control parameters are preferred control<-quint.control(maxl=5,B=2) set.seed(2) #this enables you to repeat the results of the bootstrap procedure quint_1<-quint(formula, data= SimData_1,control=control) quint_1pr<-prune(quint_1) summary(quint_1pr)
data(bcrp) formula1<- I(cesdt1-cesdt3)~cond | nationality+marital+wcht1+ age+trext+comorbid+disopt1+uncomt1+negsoct1 control1<-quint.control(maxl=5,Bootstrap=FALSE) quint1<-quint(formula1, data= subset(bcrp,cond<3),control=control1 ) summary(quint1) ##############################################3 # Example with only root node tree as outcome data(SimData_1) formula<- Y~A |X1+X2+X3+X4+X5 #Adjust the control parameters only to save computation time in the example; #The default control parameters are preferred control<-quint.control(maxl=5,B=2) set.seed(2) #this enables you to repeat the results of the bootstrap procedure quint_1<-quint(formula, data= SimData_1,control=control) quint_1pr<-prune(quint_1) summary(quint_1pr)