A Laboratory for Recursive Partytioning

A computational toolbox for recursive partitioning. The core of the package is ctree(), an implementation of conditional inference trees which embed tree-structured regression models into a well defined theory of conditional inference procedures. This non-parametric class of regression trees is applicable to all kinds of regression problems, including nominal, ordinal, numeric, censored as well as multivariate response variables and arbitrary measurement scales of the covariates. Based on conditional inference trees, cforest() provides an implementation of Breiman's random forests. The function mob() implements an algorithm for recursive partitioning based on parametric models (e.g. linear models, GLMs or survival regression) employing parameter instability tests for split selection. Extensible functionality for visualizing tree-structured regression models is available. The methods are described in Hothorn et al. (2006) , Zeileis et al. (2008) and Strobl et al. (2007) .


News

            CHANGES IN party VERSION 1.1-2 (2016-11-28)

o    remove ctree_memory(), also from examples


            CHANGES IN party VERSION 1.1-1 (2016-11-23)

o    fix memory leak


            CHANGES IN party VERSION 1.1-0 (2016-11-18)

o    don't change values of R objects in C code, this caused
     problems with byte compiling. ctree_memory() had to be
     removed in this process.


            CHANGES IN party VERSION 1.0-26 (2016-09-01)

o    compare with libcoin instead of coin


            CHANGES IN party VERSION 1.0-25 (2015-11-04)

o    remove show from export


            CHANGES IN party VERSION 1.0-24 (2015-08-25)

o    initialize, show needed import


            CHANGES IN party VERSION 1.0-23 (2015-08-14)

o    update Rout.saves to coin 1.1-0: logrank_trafo now
     has the same sign for each tie handling method which
     changes some of the cut-points

            CHANGES IN party VERSION 1.0-22 (2015-07-28)

o    NAMESPACE update


            CHANGES IN party VERSION 1.0-21 (2015-06-06)

o    reference output updated for recent versions of R


            CHANGES IN party VERSION 1.0-20 (2015-02-18)

o    is.na.Surv is now an S3 generic in survival 2.37-7


            CHANGES IN party VERSION 1.0-19 (2014-12-17)

o    directly link to mvtnorm and thus make duplication of 
     FORTRAN code obsolate.

o    export prettytree (for package mlmeta by Andrew Z)


            CHANGES IN party VERSION 1.0-18 (2014-11-10)

o    internal call to svd acummulated memory until the 
     garbage collector was able to clean up (only after the 
     whole forest was grown). Fix by Philip Montgomery
     <pmontgom@broadinstitute.org>.


            CHANGES IN party VERSION 1.0-17 (2014-09-17)

o    move initialize methods of coin classes to coin and
     re-import them


            CHANGES IN party VERSION 1.0-16 (2014-08-18)

o    import("grid")


            CHANGES IN party VERSION 1.0-15 (2014-06-26)

o    allow for missing predictor values in new varimp for
     right-censored responses

o    introduce varperm argument to R_get_nodeID


            CHANGES IN party VERSION 1.0-14 (2014-05-30)

o    add experimental varimp() for right-censored responses


            CHANGES IN party VERSION 1.0-13 (2014-02-01)

o    deal with protection issues in R-devel


            CHANGES IN party VERSION 1.0-12 (2014-01-15)

o    mammoexp -> TH.data


            CHANGES IN party VERSION 1.0-11 (2013-12-13)

o    deal with empty levels for teststat = "quad"
     (bug reported by Wei-Yin Loh <loh@stat.wisc.edu>)


            CHANGES IN party VERSION 1.0-10 (2013-10-24)

o    new demo "strucchange-perm"

o    proximity has newdata argument


            CHANGES IN party VERSION 1.0-9 (2013-09-02)

o    export initVariableFrame (for usage in RWeka only)

o    fix NAMESPACE problems

o    data is in TH.data, not ipred anymore


            CHANGES IN party VERSION 1.0-8 (2013-07-11)

o    update mvtdist

o    documentation update


            CHANGES IN party VERSION 1.0-7 (2013-05-31)

o    ctree and cforest ignored the scores argument for the
     response. Spotted and fixed by Silke Janitza 
     <janitza@ibe.med.uni-muenchen.de>.


            CHANGES IN party VERSION 1.0-6 (2013-01-09)

o    use hist()$density instead of hist()$Intensities as 
     reported by R 3.0.0 to be


            CHANGES IN party VERSION 1.0-5 (2013-01-07)

o    fix class problem reported by R 3.0.0 to be


            CHANGES IN party VERSION 1.0-4 (2012-12-18)

o    export varimpAUC()

o    add where() method for RandomForest class


            CHANGES IN party VERSION 1.0-3 (2012-09-26)

o    new function varimpAUC() for AUC-based variable importance measures

o    the `weights' argument in cforest() can now be used to define
     alternative case weights for each of the trees in the forest.


            CHANGES IN party VERSION 1.0-2 (2012-04-26)

o    version 1.0-0 introduced a new bug in plotting Kaplan-Meier curves
     when fixing the weight problem in survfit; the x-axis labels where
     incorrect. Spotted by Sarah Vowler <Sarah.Vowler@cancer.org.uk>.


            CHANGES IN party VERSION 1.0-1 (2012-03-23)

o    fix -Werror warnings suggested by Murray Stokely <mstokely@google.com>

o    make sure no factor variables are evaluated as surrogate split

o    fix confusing warning messages in varimp and check
     for non-unity weights


            CHANGES IN party VERSION 1.0-0 (2012-02-17)

o    varimp can now partially deal with missing values

o    Kaplan-Meier curves are now computed _after_ removing
     zero case weights (see comment in ?survfit); plots may change
     slightly.

o    use cforest_unbiased instead of cforest_control/cforest_classical
     in examples and regression tests


            CHANGES IN party VERSION 0.9-99996 (2011-12-20)

o    don't ship doxygen documentation with package

o    ctree() and cforest() don't handle `-' in formulae,
     warning added to Rd files


            CHANGES IN party VERSION 0.9-99995 (2011-10-27)

o    observations with missing values in newdata might not have gone 
     with the majority in predict(<ctree>, newdata) when no surrogate 
     split was applicable. Spotted and fixed by 
     Vik <viknesh@stat.ufl.edu>.


            CHANGES IN party VERSION 0.9-99994 (2011-08-22)

o    reuse classes exported by coin


            CHANGES IN party VERSION 0.9-99993 (2011-07-26)

o    attach NAMESPACE properly in tests


            CHANGES IN party VERSION 0.9-99992 (2011-05-02)

o    fix partial matching problems


            CHANGES IN party VERSION 0.9-99991 (2010-11-19)

o    fix tests/ dependencies


            CHANGES IN party VERSION 0.9-9999 (2010-09-13)

o    add update slots to tree and forest objects (later to be used
     for crossvalidation)


            CHANGES IN party VERSION 0.9-9998 (2010-08-23)

o    allow for internal permutations in predict via R_predict2


            CHANGES IN party VERSION 0.9-9997 (2010-07-06)

o    update mvt.f (see mvtnorm)


            CHANGES IN party VERSION 0.9-9996 (2010-06-24)

o    print progress bar while forest grows (via trace = TRUE
     in cforest_control())


            CHANGES IN party VERSION 0.9-9995 (2010-05-19)

o    assignment of observations based on surrogate splits
     during fitting might have failed; observations went
     with majority (in a sub-optimal way)


            CHANGES IN party VERSION 0.9-9994 (2010-04-14)

o    varimp() gives warning for non-unity weights

o    "no admissible split found" warnings disabled


            CHANGES IN party VERSION 0.9-9993 (2010-03-04)

o    just internals needed for mboost


            CHANGES IN party VERSION 0.9-9992 (2010-02-26)

o    Bug fix in mob plotting for anova models


            CHANGES IN party VERSION 0.9-9991 (2010-01-27)

o    Bug fix in error handling of mob().

            CHANGES IN party VERSION 0.9-999 (2009-09-24)

o    minbucket was erronously interpreted as minbucket + 1

o    p-values for teststat = "max" were wrong
     in the uncommon case of zero variances


            CHANGES IN party VERSION 0.9-998 (2009-06-17)

o    mtry may vary with tree depth

o    finding surrogate variables may have failed, fixed.


            CHANGES IN party VERSION 0.9-997 (2009-06-04)

o    documentation fixes


            CHANGES IN party VERSION 0.9-996 (2009-03-27)

o    survival fixes


            CHANGES IN party VERSION 0.9-994 (2009-02-10)

o    fix bug in new varimp function (which was triggered
     by splits in categorical variables)


            CHANGES IN party VERSION 0.9-993 (2009-01-29)

o    new C-level function R_remove_weights


            CHANGES IN party VERSION 0.9-992 (2009-01-19)

o   update CITATION file


            CHANGES IN party VERSION 0.9-991 (2009-01-13)

o   new conditional variable importance measure 
    (Strobl et al., 2008, BMC Bioinformatics) available.


            CHANGES IN party VERSION 0.9-99 (2008-10-28)

o   a suboptimal split was implemented when the best
    split corresponded to the last row of <data> due to
    a coding error. This should have happend only very
    rarely, however, the glaucoma example is affected.


            CHANGES IN party VERSION 0.9-98 (2008-10-15)

o   don't compute ordering of censored variables (thanks to
    Brian D. Ripley for the report)

o   experimental version of partialPlot for cforests

o   teststat = "quad" and testtype = "Univariate" produced
    wrong criteria in the presence of constant exploratory variables.
    Spotted by Sebastian Wietzke <Sebastian.Wietzke@axa.de>


            CHANGES IN party VERSION 0.9-97 (2008-06-26)

o   predictions for new data containing missing values were
    wrong. Bug spotted by Wei-Yin Loh <loh@stat.wisc.edu>

o   vignette updates


            CHANGES IN party VERSION 0.9-96 (2008-06-06)

o   make searching for surrogate splits a little more stable


            CHANGES IN party VERSION 0.9-95 (2008-02-27)

o   proximity() now gives _relative_ numbers 
    (similar to `randomForest'), not absolute numbers
    long-standing feature request by Henric Nilsson


            CHANGES IN party VERSION 0.9-94 (2008-01-30)

o   documentation updates


            CHANGES IN party VERSION 0.9-93 (2007-11-30)

o   It is now an error to ask for more surrogate variables
    than actually available. Thanks to Henric Nilsson.


            CHANGES IN party VERSION 0.9-92 (2007-11-22)

o   predict(<ctree-object>) computed predictions
    for observations with zero weights (by passing them down the tree).
    This was already done this way by predict(<cforest-object>) but resulted
    in an error for ctree()s.

o   minbucket added to ctree_control()


            CHANGES IN party VERSION 0.9-91 (2007-09-26)

o   bugfix: NAs in factors lead to segfaults on 64bit machines
    as reported by Carolin Strobl <carolin.strobl@lmu.de>

o   related to this: be more careful when splitting in
    variables containing missing values, especially factors.

o   add examples to regression tests

o   new function `proximity' (feature request by Henric Nilsson)


            CHANGES IN party VERSION 0.9-90 (2007-09-24)

o   new defaults for `control' argument of `cforest': unbiased
    forests are now grown by default

o   new defaults for binary classification tree visualization:
    stacked bar charts are used by default.


            CHANGES IN party VERSION 0.9-14 (2007-07-23)

o   fix problem in `varimp' introduced by new weights handling


            CHANGES IN party VERSION 0.9-13 (2007-07-23)

o   update `mvt.f'

o   improve the memory footprint of RandomForest objects
    substancially (by removing the weights slots from each node).
    
    More careful revision of the predict and fitting code is needed.

o   predictions for cforest with multivariate response are
    now returned in a matrix (should be a data.frame)

o   remove confusing `no admissible split found' warning 
    (which simply meant that the `minsplit' wasn't met).


            CHANGES IN party VERSION 0.9-12 (2007-06-28)

o   adjust to coin 0.6-4


            CHANGES IN party VERSION 0.9-11 (2007-06-11)

o   populate `where' slot in `mob' objects.

o   `mob_control' now has an `na.action' argument

o   cforest with replace = FALSE, fraction = ...
    can now deal with weights (spotted by Carolin Strobl
    <carolin.strobl@stat.uni-muenchen.de>)

o   interface to LAPACK (`dgesdd' for computing a SVD)
    directly. As a side-effect, the svdmem class can be 
    simplified and no memory allocation during 
    tree growing is necessary (which results in a measureable
    performance gain)


            CHANGES IN party VERSION 0.9-10 (2007-02-28)

o   internal infrastructure for fit(x, y) interfaces,
    including a VariableFrame method for matrices.

o   deal with factors with only one level and variables where
    all observations are NA

o   don't compute design matrices in `ModelEnvFormula'


            CHANGES IN party VERSION 0.9-9 (2007-02-02)

o   internal changes to data objects: joint transformations
    only necessary for response variables (new class `ResponseFrame')
    but we need to distinguish between testing (using ranks, for
    example) and prediction (means of raw data!).

    Problem spotted by Henric Nilsson <nilsson.henric@gmail.com>.


            CHANGES IN party VERSION 0.9-8 (2007-01-15)

o   thicker median lines in boxplots


            CHANGES IN party VERSION 0.9-7 (2007-01-15)

o   fix problems with multivariate response variables
    (spotted by Henric Nilsson <henric.nilsson@sorch.se>)


            CHANGES IN party VERSION 0.9-6 (2006-11-28)

o   R-2.5.0 does not allow to change the storage.mode of factors


            CHANGES IN party VERSION 0.9-5 (2006-10-27)

o   adjusted p values computed with testtype = "MonteCarlo"
    did not take dimensionality of the underlying linear statistics
    into account. It is now ensured that _p values_ are resampled,
    not test statistics.

o   fix escape problems


            CHANGES IN party VERSION 0.9-4 (2006-09-15)

o   make sure `maxsurrogates' exceeds number of input variables

o   fix problems reported by valgrind


            CHANGES IN party VERSION 0.9-3 (2006-09-08)

o    don't call RNG functions in mvt (this is done in C code, once)


            CHANGES IN party VERSION 0.9-2 (2006-09-07)

o    mob() can't currently handle missing values,
     they are removed and a warning is given.

o    add `methods' and `vcd' to Depends:


            CHANGES IN party VERSION 0.9-0 (2006-08-31)

o    node_barplot() can now also draw stacked barplots.

o    simplify handling of ordinal variables. It is now possible
     to have multiple (ordinal) response variables.

o    some documentation updates

o    fix problems with NA handling for factors

o    make sure minsplit criterion applies in the presence of missing
     values. Bug spotted by Han Lee <Han.Lee@geodecapital.com>.


            CHANGES IN party VERSION 0.8-8 (2006-08-23)

o    export `varimp' (variable importance measures for cforest())

o    documentation updates

o    add codetools checks


            CHANGES IN party VERSION 0.8-7 (2006-07-17)

o    REAL(NULL) now gives an error in C code and scores could be 
     potentially NULL: fixed for the time being.

o    add `show' method for BinaryTree and RandomForest objects


            CHANGES IN party VERSION 0.8-6 (2006-05-22)

o    add some validity checks for hyper parameters

o    add function `varimp' for computing variable importance
     measures for some random forests (this is still experimental and
     thus not exported yet, so use `party:::varimp')


            CHANGES IN party VERSION 0.8-5 (2006-04-25)

o    all hyper parameters to `cforest' are now controlled using
     objects of a new class `ForestControl' which can be created using
     `cforest_control()'. 

o    sampling of a fraction of the observations without replacement
     is now available for the `cforest' implementation of random forest.


            CHANGES IN party VERSION 0.8-4 (2006-04-04)

o    renamed argument `teststattype' to `teststat' with defaults
     c("quad", "max") in order to be compatible with the `coin' package, 
     version >= 0.4-5

o    use `1 - (1 - p)^k' instead of `p * k' for Bonferroni-adjustment.
     Node 7 for the `GlaucomaM' data is now splitted in addition (in tms).


            CHANGES IN party VERSION 0.8-3 (2006-03-20)

o   `predict' returned nonsensical results in case a tree was 
    fitted to a multivariate response variable. Now a list with one
    element for each observation is returned.


            CHANGES IN party VERSION 0.8-2 (2006-03-01)

o    plotting buglets fixed: improved axis in MOB plots,
     correct (transparent) background on jpeg() and png() devices.


    CHANGES IN `party' VERSION 0.8-1 (2006-02-23)

o    `testtype' can be Bonferroni, MonteCarlo, Univariate and
     Teststatistic (instead of Raw)     

o    removed unnecessary constraint on weights in `cforest'

o    maximize raw test statistics for random forest by default.


    CHANGES IN `party' VERSION 0.8-0 (2006-02-15)       

o    `cforest', an implementation of Breiman's random forest ensemble
     algorithm based on conditional inference trees (`ctree') has been
 added. It is somewhat experimental and thus for advanced users only.

o    `mob', an object-oriented implementation of a recently suggested
     algorithm for model-based recursive partitioning (Zeileis, Hothorn,
 Hornik, 2005) has been added. It works out of the box for partitioning
 (generalized) linear regression models, others can be easily plugged
 in. A new vignette "MOB" describes the implementation ideas and provides
 a few examples.

o    new S3 generic reweight() with methods for (g)linearModel
     for re-fitting a model with different weights.

o    new argument `maxdepth' to `ctree_control' which allows for
     growing trees of a fixed maximum depth.

o    LazyData: yes


    CHANGES IN `party' VERSION 0.3-6 (2006-02-06)

o    use a different way to deal with NAMESPACEs during in tests/*.R
     following a suggestion by Prof. Brian D. Ripley

o    use LazyLoad: yes instead of SaveImage: yes


    CHANGES IN `party' VERSION 0.3-5 (2006-02-02)

o    make R CMD check happy and move src/README to inst/README


    CHANGES IN `party' VERSION 0.3-4 (2006-01-18)

o    documentation updates


    CHANGES IN `party' VERSION 0.3-3 (2006-01-18)

o    some new convenience functions, not exported


    CHANGES IN `party' VERSION 0.3-2 (2006-01-12)

o    isequal must not check equality of attributes


    CHANGES IN `party' VERSION 0.3-1 (2005-12-02)

o    fix bug introduced in version 0.3-0: coin:::factor_trafo applies
     treatment contrasts in case of a binary factor but we need the full
     design matrix

o    documentation updates


    CHANGES IN `party' VERSION 0.3-0 (2005-11-29)

o    `ytrafo' and `xtrafo' functions make use of `coin:::trafo' now,
     i.e. the handling of influence functions and transformations
     has been unified in packages `party' and `coin'


    CHANGES IN `party' VERSION 0.2-10 (2005-11-08)

o    new slot `data' in BinaryTree objects, slots inputnames and levels 
     have been removed


    CHANGES IN `party' VERSION 0.2-9 (2005-10-19)

o    splits in categorical variables could have failed due 
     to weired internal checks


    CHANGES IN `party' VERSION 0.2-8 (2005-08-06)

o    fix problems reported by codetools


    CHANGES IN `party' VERSION 0.2-7 (2005-08-31)

o    extract inputs using menv@get("input", data = newdata) in predict


    CHANGES IN `party' VERSION 0.2-6 (2005-08-29)

o   make gfortran happy


    CHANGES IN `party' VERSION 0.2-5 (2005-08-19)

o    ctree() now searches the global environment for variables given
     in `formula' when the `data' argument is unspecified.


    CHANGES IN `party' VERSION 0.2-4 (2005-07-07)

o    names of `criterion' element in `SplittingNode' objects were wrong

o    categorical splits with `ctree_control(testtype = "MonteCarlo")'
     were potentially wrong


    CHANGES IN `party' VERSION 0.2-3 (2005-06-29)

o   print and plot only levels which are available in a node (for nominal
    splits)


    CHANGES IN `party' VERSION 0.2-2 (2005-06-27)

o   ./src/Makedeps will be automatically generated (on Windows)
    and must not be part of the source-package.

o   vignette cosmetics

Reference manual

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