Changes in QUINT Version 2.2-2 (2022-07-01)
========================================
* DESCRIPTION is updated.


Changes in QUINT Version 2.2-1 (2022-07-01)
========================================
* New function determineSplits2(). It determines the number of possible splits based on the original categorical variable.
* predict.quint() is modified to include the new changes of determineSplits2().
* nodeinfo() is modified to solve a bug in predict.quint().
* help files are modified to include warnings for the users.
* Vignettes about the use of the package are included.

Changes in QUINT Version 2.1-0 (2020-6-12)
========================================
* New function quint.bootstrapCI(). It computes the confidence interval of the difference between treatments in each leaf using a bootstrap procedure.
* quint class contains a new element: formula. It displays the formula used in the quint method.
* quint() and prune.quint() are modified to deal with the new quint class.
* help files are modified to include references to the new function quint.bootstrapCI().
* fix bug in nodeinfo().
* Bug in NAMESPACE is solved by removing @exportClass from prune.quint() and quint().
* grid, utils and graphics are added to the DESCRIPTION file.


Changes in QUINT Version 2.0-2 (2019-9-4)
========================================
* New advise on reducing the number of leaves when standard error cannot be computed in quint function.

Changes in QUINT Version 2.0-1 (2019-7-10)
========================================
* A vignette has been included.
* A small bug has been fixed in prune.quint.
* quint.validate is renewed. Bootstraps resulting in trees trees containing only the root node are not considered in the validation function. The total number of bootstraps used in the validation procedure is returned as $finalBootstraps.
* nodeinfo.R has been modified by introducing lgamma in the computation of the effect size. This allow us not to use approximations for this computation.
* quint.control includes new warnings in case a1 or a2 are below 2.
* quint.control includes a new description of the argument dmin.
* quint includes new warnings in case a1 or a2 are below 2. Modify the default values for a1 and a2 so that the minimum values are never below 2.
* Help files are modified. Typos are corrected, references are updated and new information is included.


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.
