partykit
A Toolkit for Recursive Partytioning
Description
A toolkit with infrastructure for representing, summarizing, and visualizing tree-structured regression and classification models. This unified infrastructure can be used for reading/coercing tree models from different sources ('rpart', 'RWeka', 'PMML') yielding objects that share functionality for print()/plot()/predict() methods. Furthermore, new and improved reimplementations of conditional inference trees (ctree()) and model-based recursive partitioning (mob()) from the 'party' package are provided based on the new infrastructure. A description of this package was published by Hothorn and Zeileis (2015) <https://jmlr.org/papers/v16/hothorn15a.html>.
Downloads
32.3K
Last 30 days
619th
32.3K
Last 90 days
32.3K
Last year
CRAN Check Status
Show all 14 flavors
| Flavor | Status |
|---|---|
| r-devel-linux-x86_64-debian-clang | NOTE |
| r-devel-linux-x86_64-debian-gcc | OK |
| r-devel-linux-x86_64-fedora-clang | OK |
| r-devel-linux-x86_64-fedora-gcc | OK |
| r-devel-macos-arm64 | NOTE |
| r-devel-windows-x86_64 | OK |
| r-oldrel-macos-arm64 | OK |
| r-oldrel-macos-x86_64 | OK |
| r-oldrel-windows-x86_64 | OK |
| r-patched-linux-x86_64 | OK |
| r-release-linux-x86_64 | WARNING |
| r-release-macos-arm64 | NOTE |
| r-release-macos-x86_64 | OK |
| r-release-windows-x86_64 | OK |
Check details (15 non-OK)
re-building of vignette outputs
Note: skipping ‘constparty.Rnw’ due to unavailable dependencies: 'RWeka'
tests
Running ‘bugfixes.R’ [6s/7s] Comparing ‘bugfixes.Rout’ to ‘bugfixes.Rout.save’ ... OK Running ‘constparty.R’ [5s/6s] Comparing ‘constparty.Rout’ to ‘constparty.Rout.save’ ... OK Running ‘regtest-MIA.R’ [2s/3s] Comparing ‘regtest-MIA.Rout’ to ‘regtest-MIA.Rout.save’ ... OK Running ‘regtest-cforest.R’ [13s/18s] Comparing ‘regtest-cforest.Rout’ to ‘regtest-cforest.Rout.save’ ... OK Running ‘regtest-ctree.R’ [2s/3s] Comparing ‘regtest-ctree.Rout’ to ‘regtest-ctree.Rout.save’ ... OK Running ‘regtest-glmtree.R’ [36s/37s] Comparing ‘regtest-glmtree.Rout’ to ‘regtest-glmtree.Rout.save’ ... OK Running ‘regtest-honesty.R’ [2s/4s] Running ‘regtest-lmtree.R’ [3s/3s] Running ‘regtest-nmax.R’ [2s/2s] Comparing ‘regtest-nmax.Rout’ to ‘regtest-nmax.Rout.save’ ... OK Running ‘regtest-node.R’ [2s/2s] Comparing ‘regtest-node.Rout’ to ‘regtest-node.Rout.save’ ... OK Running ‘regtest-party-random.R’ [3s/3s] Running ‘regtest-party.R’ [2s/3s] Comparing ‘regtest-party.Rout’ to ‘regtest-party.Rout.save’ ... 52,54c52,57 < Warning message: < In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, : < there is no package called 'RWeka' --- > [1] TRUE > [1] "names for current but not for target" > [1] TRUE > [1] TRUE > [1] TRUE > [1] TRUE 1383,1392c1386,1395 < 1 1989 0.4841861 < 2 1701 0.4934019 < 3 1701 0.4934019 < 4 1701 0.4934019 < 5 1989 0.4841861 < 6 500 0.5053642 < 7 Inf 0.4755246 < 8 Inf 0.4927613 < 9 500 0.5053642 < 10 742 0.4963365 --- > 1 1989 0.5017739 > 2 1701 0.4933225 > 3 1701 0.4933225 > 4 1701 0.4933225 > 5 1989 0.5017739 > 6 500 0.4823559 > 7 Inf 0.4662471 > 8 Inf 0.4839262 > 9 500 0.4823559 > 10 742 0.5108953 1565c1568 < 2 2 2 2 3 3 3 3 3 --- > 2 2 2 2 2 4 4 4 5 1568c1571 < 2.0083 2.0083 2.0083 2.0083 -0.0955 -0.0955 -0.0955 -0.0955 -0.0955 --- > 2.112 2.112 2.112 2.112 2.112 0.378 0.378 0.378 -0.511 1573c1576 < x[1:52] = -1, 0.4, 0.6, ..., 4, 5 --- > x[1:58] = -0.3, -0.1, 0.1, ..., 4, 4 1578c1581 < x[1:52] = -1, 0.4, 0.6, ..., 4, 5 --- > x[1:58] = -0.3, -0.1, 0.1, ..., 4, 4 1583c1586 < x[1:52] = -1, 0.4, 0.6, ..., 4, 5 --- > x[1:58] = -0.3, -0.1, 0.1, ..., 4, 4 1588c1591 < x[1:52] = -1, 0.4, 0.6, ..., 4, 5 --- > x[1:58] = -0.3, -0.1, 0.1, ..., 4, 4 1593c1596 < x[1:48] = -3, -2, -2, ..., 2, 3 --- > x[1:58] = -0.3, -0.1, 0.1, ..., 4, 4 1598c1601 < x[1:48] = -3, -2, -2, ..., 2, 3 --- > x[1:26] = -1, -0.7, -0.7, ..., 2, 2 1603c1606 < x[1:48] = -3, -2, -2, ..., 2, 3 --- > x[1:26] = -1, -0.7, -0.7, ..., 2, 2 1608c1611 < x[1:48] = -3, -2, -2, ..., 2, 3 --- > x[1:26] = -1, -0.7, -0.7, ..., 2, 2 1613c1616 < x[1:48] = -3, -2, -2, ..., 2, 3 --- > x[1:16] = -2, -2, -2, ..., 0.7, 1 1617,1625c1620,1628 < 1 0.608 1.8176 3.77 < 2 0.608 1.8176 3.77 < 3 0.608 1.8176 3.77 < 4 0.608 1.8176 3.77 < 5 -1.441 -0.0368 1.22 < 6 -1.441 -0.0368 1.22 < 7 -1.441 -0.0368 1.22 < 8 -1.441 -0.0368 1.22 < 9 -1.441 -0.0368 1.22 --- > 1 1.064 2.126 3.254 > 2 1.064 2.126 3.254 > 3 1.064 2.126 3.254 > 4 1.064 2.126 3.254 > 5 1.064 2.126 3.254 > 6 -0.534 0.396 1.361 > 7 -0.534 0.396 1.361 > 8 -0.534 0.396 1.361 > 9 -1.659 -0.383 0.485 1702,1710c1705,1713 < 1 0.0757 0.0954 0.117 0.140 0.163 0.186 0.209 0.232 0.253 < 2 0.0757 0.0954 0.117 0.140 0.163 0.186 0.209 0.232 0.253 < 3 0.0757 0.0954 0.117 0.140 0.163 0.186 0.209 0.232 0.253 < 4 0.0757 0.0954 0.117 0.140 0.163 0.186 0.209 0.232 0.253 < 5 0.3268 0.3266 0.325 0.321 0.314 0.304 0.292 0.277 0.260 < 6 0.3268 0.3266 0.325 0.321 0.314 0.304 0.292 0.277 0.260 < 7 0.3268 0.3266 0.325 0.321 0.314 0.304 0.292 0.277 0.260 < 8 0.3268 0.3266 0.325 0.321 0.314 0.304 0.292 0.277 0.260 < 9 0.3268 0.3266 0.325 0.321 0.314 0.304 0.292 0.277 0.260 --- > 1 0.0501 0.0493 0.0508 0.0565 0.0678 0.0854 0.109 0.138 0.169 > 2 0.0501 0.0493 0.0508 0.0565 0.0678 0.0854 0.109 0.138 0.169 > 3 0.0501 0.0493 0.0508 0.0565 0.0678 0.0854 0.109 0.138 0.169 > 4 0.0501 0.0493 0.0508 0.0565 0.0678 0.0854 0.109 0.138 0.169 > 5 0.0501 0.0493 0.0508 0.0565 0.0678 0.0854 0.109 0.138 0.169 > 6 0.5393 0.5764 0.5965 0.5940 0.5639 0.5057 0.429 0.350 0.290 > 7 0.5393 0.5764 0.5965 0.5940 0.5639 0.5057 0.429 0.350 0.290 > 8 0.5393 0.5764 0.5965 0.5940 0.5639 0.5057 0.429 0.350 0.290 > 9 0.3705 0.3422 0.3106 0.2778 0.2458 0.2160 0.189 0.166 0.145 Running ‘regtest-split.R’ [2s/2s] Comparing ‘regtest-split.Rout’ to ‘regtest-split.Rout.save’ ... OK Running ‘regtest-weights.R’ [2s/3s] Comparing ‘regtest-weights.Rout’ to ‘regtest-weights.Rout.save’ ... OK
*
*
*
tests
Running ‘bugfixes.R’ [1s/1s] Comparing ‘bugfixes.Rout’ to ‘bugfixes.Rout.save’ ... 1143c1143 < criterion -0.0004771838 -0.0004771838 --- > criterion -0.0001771838 -0.0001771838 Running ‘constparty.R’ [1s/1s] Comparing ‘constparty.Rout’ to ‘constparty.Rout.save’ ... OK Running ‘regtest-MIA.R’ [0s/0s] Comparing ‘regtest-MIA.Rout’ to ‘regtest-MIA.Rout.save’ ... OK Running ‘regtest-cforest.R’ [2s/2s] Comparing ‘regtest-cforest.Rout’ to ‘regtest-cforest.Rout.save’ ... OK Running ‘regtest-ctree.R’ [0s/0s] Comparing ‘regtest-ctree.Rout’ to ‘regtest-ctree.Rout.save’ ... OK Running ‘regtest-glmtree.R’ [9s/9s] Comparing ‘regtest-glmtree.Rout’ to ‘regtest-glmtree.Rout.save’ ... OK Running ‘regtest-honesty.R’ [0s/0s] Running ‘regtest-lmtree.R’ [1s/1s] Running ‘regtest-nmax.R’ [0s/0s] Comparing ‘regtest-nmax.Rout’ to ‘regtest-nmax.Rout.save’ ... OK Running ‘regtest-node.R’ [0s/0s] Comparing ‘regtest-node.Rout’ to ‘regtest-node.Rout.save’ ... OK Running ‘regtest-party-random.R’ [1s/1s] Running ‘regtest-party.R’ [1s/1s] Comparing ‘regtest-party.Rout’ to ‘regtest-party.Rout.save’ ... OK Running ‘regtest-split.R’ [0s/0s] Comparing ‘regtest-split.Rout’ to ‘regtest-split.Rout.save’ ... OK Running ‘regtest-weights.R’ [0s/1s] Comparing ‘regtest-weights.Rout’ to ‘regtest-weights.Rout.save’ ... OK
*
*
*
*
*
Rd files
prepare_Rd: ./man/HuntingSpiders.Rd:39: unknown macro '\bibcitet'
prepare_Rd: ./man/HuntingSpiders.Rd:40: unknown macro '\bibcitet'
checkRd: (-1) HuntingSpiders.Rd:39: Lost braces
39 | The data were originally analyzed by \bibcitet{partykit::VanDerAart+SmeenkEnserink:1975}.
| ^
checkRd: (-1) HuntingSpiders.Rd:40: Lost braces
40 | \bibcitet{partykit::Death:2002} transformed all variables to the 0--9 scale and employed
| ^
prepare_Rd: ./man/WeatherPlay.Rd:25: unknown macro '\bibcitet'
checkRd: (-1) WeatherPlay.Rd:25: Lost braces
25 | Table 1.3 in \bibcitet{partykit::Witten+Frank:2011}.
| ^
prepare_Rd: ./man/cforest.Rd:85: unknown macro '\bibcitet'
prepare_Rd: ./man/cforest.Rd:163: unknown macro '\bibcitet'
prepare_Rd: ./man/cforest.Rd:164: unknown macro '\bibcitet'
prepare_Rd: ./man/cforest.Rd:175: unknown macro '\bibcitet'
prepare_Rd: ./man/cforest.Rd:176: unknown macro '\bibcitet'
prepare_Rd: ./man/cforest.Rd:194: unknown macro '\bibcitet'
prepare_Rd: ./man/cforest.Rd:195: unknown macro '\bibcitet'
prepare_Rd: ./man/cforest.Rd:196: unknown macro '\bibcitet'
checkRd: (-1) cforest.Rd:85: Lost braces
85 | \bibcitet{partykit::Wager_Athey_2018}.}
| ^
checkRd: (-1) cforest.Rd:163: Lost braces
163 | See \bibcitet{partykit::Hothorn+Lausen+Benner:2004} and
| ^
checkRd: (-1) cforest.Rd:164: Lost braces
164 | \bibcitet{partykit::Meinshausen_2006} for a description.
| ^
checkRd: (-1) cforest.Rd:175: Lost braces
175 | \bibcitet{partykit::Hothorn+Lausen+Benner:2004} and
| ^
checkRd: (-1) cforest.Rd:176: Lost braces
176 | \bibcitet{partykit::Hothorn+Buehlmann+Dudoit:2006}, or to
| ^
checkRd: (-1) cforest.Rd:194: Lost braces
194 | are used by default. See \bibcitet{partykit::Hothorn+Hornik+Zeileis:2006} and
| ^
checkRd: (-1) cforest.Rd:195: Lost braces
195 | \bibcitet{partykit::Strobl+Boulesteix+Zeileis:2006}
| ^
checkRd: (-1) cforest.Rd:196: Lost braces
196 | as well as \bibcitet{partykit::Strobl+Malley+Tutz:2009}.
| ^
prepare_Rd: ./man/ctree.Rd:68: unknown macro '\bibcitet'
prepare_Rd: ./man/ctree.Rd:82: unknown macro '\bibcitet'
prepare_Rd: ./man/ctree.Rd:105: unknown macro '\bibcitet'
prepare_Rd: ./man/ctree.Rd:106: unknown macro '\bibcitet'
prepare_Rd: ./man/ctree.Rd:107: unknown macro '\bibcitet'
checkRd: (-1) ctree.Rd:68: Lost braces
68 | or permutation tests, developed by \bibcitet{partykit::Strasser+Weber:1999}. The stop
| ^
checkRd: (-1) ctree.Rd:82: Lost braces
82 | \bibcitet{partykit::Hothorn+Hornik+Zeileis:2006}.
| ^
checkRd: (-1) ctree.Rd:105: Lost braces
105 | \bibcitet{partykit::Hothorn+Hornik+Zeileis:2006} and
| ^
checkRd: (-1) ctree.Rd:106: Lost braces
106 | \bibcitet{partykit::Hothorn+Hornik+Wiel+Zeileis:2006}. The implementation is
| ^
checkRd: (-1) ctree.Rd:107: Lost braces
107 | described in \bibcitet{partykit::Hothorn_Zeileis_2015}.
| ^
prepare_Rd: ./man/ctree_control.Rd:66: unknown macro '\bibcitet'
prepare_Rd: ./man/ctree_control.Rd:86: unknown macro '\bibcitet'
checkRd: (-1) ctree_control.Rd:66: Lost braces
66 | see \bibcitet{partykit::Twala+Jones+Hand:2008}.}
| ^
checkRd: (-1) ctree_control.Rd:86: Lost braces
86 | \bibcitet{partykit::Galili+Meilijson:2016}.}
| ^
prepare_Rd: ./man/glmtree.Rd:59: unknown macro '\bibcitet'
checkRd: (-1) glmtree.Rd:59: Lost braces
59 | The methodology is described in \bibcitet{partykit::Zeileis+Hothorn+Hornik:2008}.
| ^
prepare_Rd: ./man/lmtree.Rd:56: unknown macro '\bibcitet'
checkRd: (-1) lmtree.Rd:56: Lost braces
56 | The methodology is described in \bibcitet{partykit::Zeileis+Hothorn+Hornik:2008}.
| ^
prepare_Rd: ./man/mob.Rd:84: unknown macro '\bibcitet'
prepare_Rd: ./man/mob.Rd:123: unknown macro '\bibcitet'
checkRd: (-1) mob.Rd:84: Lost braces
84 | \bibcitet{partykit::Zeileis+Hothorn+Hornik:2008} and some illustrations are provided in
| ^
checkRd: (-1) mob.Rd:123: Lost braces
123 | by \bibcitet{partykit::Hothorn_Zeileis_2015}.
| ^
prepare_Rd: ./man/panelfunctions.Rd:131: unknown macro '\bibcitep'
checkRd: (-1) panelfunctions.Rd:131: Lost braces
131 | \bibcitep{partykit::Meyer+Zeileis+Hornik:2006}
| ^
prepare_Rd: ./man/party-plot.Rd:85: unknown macro '\bibcitet'
checkRd: (-1) party-plot.Rd:85: Lost braces
85 | \bibcitet{partykit::Meyer+Zeileis+Hornik:2006}.
| ^
prepare_Rd: ./man/party.Rd:80: unknown macro '\bibcitet'
checkRd: (-1) party.Rd:80: Lost braces
80 | An introduction is available from \bibcitet{partykit::Hothorn_Zeileis_2015}.
| ^
prepare_Rd: ./man/partynode.Rd:97: unknown macro '\bibcitet'
checkRd: (-1) partynode.Rd:97: Lost braces
97 | An introduction is available from \bibcitet{partykit::Hothorn_Zeileis_2015}.
| ^
prepare_Rd: ./man/partysplit.Rd:100: unknown macro '\bibcitet'
checkRd: (-1) partysplit.Rd:100: Lost braces
100 | An introduction is available from \bibcitet{partykit::Hothorn_Zeileis_2015}.
| ^
prepare_Rd: ./man/varimp.Rd:62: unknown macro '\bibcitet'
prepare_Rd: ./man/varimp.Rd:70: unknown macro '\bibcitet'
checkRd: (-1) varimp.Rd:62: Lost braces
62 | See \bibcitet{partykit::Strobl+Boulesteix+Kneib:2008} for details.
| ^
checkRd: (-1) varimp.Rd:70: Lost braces
70 | described in \bibcitet{partykit::Hapfelmeier_Hothorn_Ulm_Strobl_2014} is performed.
| ^
tests
Running ‘bugfixes.R’ [1s/1s] Comparing ‘bugfixes.Rout’ to ‘bugfixes.Rout.save’ ...1143c1143 < criterion -0.0004771838 -0.0004771838 --- > criterion -0.0001771838 -0.0001771838 Running ‘constparty.R’ [1s/1s] Comparing ‘constparty.Rout’ to ‘constparty.Rout.save’ ... OK Running ‘regtest-MIA.R’ [0s/1s] Comparing ‘regtest-MIA.Rout’ to ‘regtest-MIA.Rout.save’ ... OK Running ‘regtest-cforest.R’ [2s/2s] Comparing ‘regtest-cforest.Rout’ to ‘regtest-cforest.Rout.save’ ... OK Running ‘regtest-ctree.R’ [0s/0s] Comparing ‘regtest-ctree.Rout’ to ‘regtest-ctree.Rout.save’ ... OK Running ‘regtest-glmtree.R’ [9s/9s] Comparing ‘regtest-glmtree.Rout’ to ‘regtest-glmtree.Rout.save’ ... OK Running ‘regtest-honesty.R’ [0s/0s] Running ‘regtest-lmtree.R’ [1s/1s] Running ‘regtest-nmax.R’ [0s/0s] Comparing ‘regtest-nmax.Rout’ to ‘regtest-nmax.Rout.save’ ... OK Running ‘regtest-node.R’ [0s/0s] Comparing ‘regtest-node.Rout’ to ‘regtest-node.Rout.save’ ... OK Running ‘regtest-party-random.R’ [1s/1s] Running ‘regtest-party.R’ [1s/1s] Comparing ‘regtest-party.Rout’ to ‘regtest-party.Rout.save’ ... OK Running ‘regtest-split.R’ [0s/0s] Comparing ‘regtest-split.Rout’ to ‘regtest-split.Rout.save’ ... OK Running ‘regtest-weights.R’ [0s/0s] Comparing ‘regtest-weights.Rout’ to ‘regtest-weights.Rout.save’ ... OK
*
*
Check History
WARNING 10 OK · 3 NOTE · 1 WARNING · 0 ERROR · 0 FAILURE Mar 9, 2026
tests
Running ‘bugfixes.R’ [6s/7s] Comparing ‘bugfixes.Rout’ to ‘bugfixes.Rout.save’ ... OK Running ‘constparty.R’ [5s/6s] Comparing ‘constparty.Rout’ to ‘constparty.Rout.save’ ... OK Running ‘regtest-MIA.R’ [2s/3s] Comparing ‘regtest-MIA.Rout’ to ‘regtest-MIA.Rout.save’ ... OK Running ‘regtest-cforest.R’ [13s/18s] Comparing ‘regtest-cforest.Rout’ to ‘regtest-cforest.Rout.save’ ... OK Running ‘regtest-ctree.R’ [2s/3s] Comparing ‘regtest-ctree.Rout’ to ‘regtest-ctree.Rout.save’ ...
tests
Running ‘bugfixes.R’ [1s/1s] Comparing ‘bugfixes.Rout’ to ‘bugfixes.Rout.save’ ... 1143c1143 < criterion -0.0004771838 -0.0004771838 --- > criterion -0.0001771838 -0.0001771838 Running ‘constparty.R’ [1s/1s] Comparing ‘constparty.Rout’ to ‘constparty.Rout.save’ ... OK Running ‘regtest-MIA.R’ [0s/0s] Comparing ‘regtest-MIA.Rout’ to ‘regtest-MIA.Rout.save’ ... OK Running ‘regtest-cforest.R’ [2s/2s] Comparing ‘regtest-cforest.Rout’ to ‘regtest-cforest.Rout.save’ ... OK Running ‘re
Rd files
prepare_Rd: ./man/HuntingSpiders.Rd:39: unknown macro '\bibcitet'
prepare_Rd: ./man/HuntingSpiders.Rd:40: unknown macro '\bibcitet'
checkRd: (-1) HuntingSpiders.Rd:39: Lost braces
39 | The data were originally analyzed by \bibcitet{partykit::VanDerAart+SmeenkEnserink:1975}.
| ^
checkRd: (-1) HuntingSpiders.Rd:40: Lost braces
40 | \bibcitet{partykit::Death:2002} transformed all variables to the 0--9 scale and employed
|
tests
Running ‘bugfixes.R’ [1s/1s] Comparing ‘bugfixes.Rout’ to ‘bugfixes.Rout.save’ ...1143c1143 < criterion -0.0004771838 -0.0004771838 --- > criterion -0.0001771838 -0.0001771838 Running ‘constparty.R’ [1s/1s] Comparing ‘constparty.Rout’ to ‘constparty.Rout.save’ ... OK Running ‘regtest-MIA.R’ [0s/1s] Comparing ‘regtest-MIA.Rout’ to ‘regtest-MIA.Rout.save’ ... OK Running ‘regtest-cforest.R’ [2s/2s] Comparing ‘regtest-cforest.Rout’ to ‘regtest-cforest.Rout.save’ ... OK Running ‘reg