Qualitative Interaction Trees

Grows a qualitative interaction tree. Quint is a tool for subgroup analysis, suitable for data from a two-arm randomized controlled trial.


News

Changes in QUINT Version 2.0-0 (2018-9-28)

  • The functions quint() and prune.quint() are renewed. We changed the first stopping criterion of the tree growing algorithm, that is, the qualitative interaction condition (see 2.4.2 in Dusseldorp & Van Mechelen, 2014). Instead of applying this condition after the first split, we now apply it at the end of the pruning algorithm. As a result, some interaction effects that were previously not detected due to this condition, can be detected now. When the condition is not met, we do not give an error message anymore, but return a tree with one node (the root node). More explanation is given in the master's thesis of Michelle van der Geest:"Decision Trees: Amelioration, Simulation, Application."; for a link to the thesis, see help file of quint().
  • summary.quint(), predict.quint(), plot.quint() and quint.validate() are adjusted to admit the new output generated by quint() and prune.quint() (i.e., trees with only one node, the root node).
  • The internal function ctmat() was modified so that trees with only one node can be used as input.
  • quint.validate() is renewed.
  • New examples are added.
  • Bug in quint() is treated by returning an error with a recommendation on the number of bootstraps.
  • Some typos in the help files are corrected.

Changes in QUINT Version 1.2-2 (2018-8-14)

  • Fixed the bug in predict.quint(), now returns predicted objects correctly when there are no missing values.

Changes in QUINT Version 1.2-1 (2016-7-1)

  • Fixed the bug in predict.quint(), now returns predicted objects of the correct length.

Changes in QUINT Version 1.2 (2016-4-21)

  • quint() is now able to handle categorical variables as candidate splitting variables. The R class of these variables should be factor. The levels of the factof can be specified as numeric values or labels.

  • quint.validate() is a new function with which the bias (i.e. optimism) of a fitted (pruned) quint tree can be estimated. The procedure is based on bootstrapping and makes use of the treatment effects in the leaves of the tree. The function returns the mean estimated optimism for either the effect size or the raw mean difference. It also returns the leaf info data frame identical to the leaf info of the quint object used as input, with the addition of an extra column. This extra column contains the bias-corrected treatment effect values for the leaf with the largest and the smallest (i.e., largest negative) treatment effect. An extended list of output is possible.

  • predict.quint() is a new S3 function to make predictions with new data using a fitted quint tree object. Three types of predictions are possible, to be specified within the "type" argument of the function. If "type='class'" the treatment subgroup classes are predicted for every patient individually. If "type='matrix'" a matrix with the positions of every patient within the fitted tree is given (i.e., the leaf number and corresponding node). If "type='li'" a leaf info data frame similar to quint$li is returned with treatment effect values (d or diff) newly computed from the input data set.

  • prune.quint() has been adapted such that it can handle categorical variables.

  • plot.quint() has been adapted such that it can make and display categorical splits.

  • the leaf info output of a quint object (quint$li) now displays either the effect size (d) with its standard error (se) or the raw mean difference (diff) with its standard error. This depends on whether "es" or "dm" is specified as treatment effect.

  • the abovementioned change for the leaf info output has also been implemented in the summary.quint() output.

  • the split info output of a quint object (quint$si) has an extra column. The fourth column contains the numerical split points. These are also produced for nominal variables. A fiftth column has been added to display the 'true' split points, such that the levels of a categorical variable that comprise a split point are pasted after one another.

  • the abovementioned change for the split info output has also been implemented in the summary.quint() output. Furthermore an additional check has been implemented for quint$si to avoid conflicts with the dimension size of quint$si objects made with version 1.0.

  • a bug regarding a sub function within quint() has been solved. This sub function made use of the Gamma(x) function. Gamma(x) cannot handle large numbers; as a consequence a warning was given and in the leaf output the standard error values for the effect size (d) values were NA. The implemented solution regards an approximation for computing the standard error to be used when the sample sizes exceed a certain value.

  • quint.control() can now return an error when the criterion is misspecified (i.e., not "es" or "dm").

  • The documentation has been updated. Help files for the quint.validate() and predict.quint() functions have been newly added. And a recently published paper has been added to the package documentation.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("quint")

2.0.1 by Elise Dusseldorp, 3 months ago


https://doi.org/10.3758/s13428-015-0594-z


Browse source code at https://github.com/cran/quint


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]


Documentation:   PDF Manual  


GPL-2 license


Depends on partykit, Formula, rpart, stats

Suggests knitr, rmarkdown


See at CRAN