Generate, Visualise, and Evaluate Fast-and-Frugal Decision Trees
Overview
Create, visualize, and test fast-and-frugal decision trees (FFTs) using the algorithms and methods described by Phillips, Neth, Woike & Gaissmaier (2017), doi:10.1017/S1930297500006239. FFTs are simple and transparent decision trees for solving binary classification problems. FFTs can be preferable to more complex algorithms because they require very little information, are easy to understand and communicate, and are robust against overfitting.
**FFTrees** version 2.1.0 was released on CRAN [on 2025-09-03].
This version reduces non-essential functionality, increases robustness, and fixes some bugs.
Breaking changes
- Deprecated all applications of non-FFT competitive algorithms (i.e., LR, SVM, RF) in FFT creation.
From now on, consider using dedicated packages (such as **parsnip** or **tidymodels**) to create and evaluate these models.
Major changes
- Added support for handling NA values.
Minor changes
Plotting:
plot.FFTrees()now labels row of 2x2 confusion matrix as "Prediction" when using "test" data.plot.FFTrees()now has atruth.labelsargument which, if set, distinguishes labels of true (signal vs. noise) cases from decision outcomes.plot.FFTrees()now has agrayscaleargument which, if TRUE, creates a gray scale plot.
Show all changes in 2.1.0Hide the rest of the changes in 2.1.0
<!-- Costs: -->
Decision costs:
- Increased value of
cost_cues_defaultfrom 0 to 1, so that default cue costs correspond tomcu.
Details
- Fixed bug for missing plot title.
- Added
@aliases FFTrees-packageto documentation of mainFFTrees()function. - Removed redundant
data_oldfolder.
<!-- Development version: -->
The current development version of **FFTrees** is available at <https://github.com/ndphillips/FFTrees>.
<!-- Older versions: -->
------
From NEWS.md in the release
Install
Health
- OK13 OK2026-08-05
- NOTE12 OK, 1 NOTE2026-08-01
- OK13 OK2026-06-09
- ERROR12 OK, 1 ERROR2026-06-08
- OK13 OK2026-05-02
Show 2 earlier changesHide 2 earlier changes
- ERROR11 OK, 1 ERROR2026-04-25
- OK14 OK2026-03-10
Documentation
- Help pages
- 52 (4 internal)includes a package overview page
- Examples that run
- 100%7 run in a plain check
- Exported functions with examples
- 20%
- Documented parameters
- 97%
- Return-value docs
- 100%
- Help pages citing references
- 13%
Downloads
Repository
- PRs merged (all time)
- 99%
- Median days to close, 50 most recently updated closed issues
- 12
- Median days to close, 50 most recently updated closed PRs
- 0
Stars over time
Forks over time
Releases over time
Issues over time
PRs over time
8 development-tooling and community-health practices detected across 4 families in the upstream repository
Checks run against github.com/ndphillips/fftrees on 2026-10-18.
The R CMD check workflow runs on Linux, macOS and Windows, and on R-devel
The repository owner accepts GitHub Sponsors
GitHub Pages site last deployed 2026-05-02 · The repository has a site deploy workflow
pkgdown site last built 2026-05-02
Dependencies
Installing FFTrees adds 84 packages (43 with compiled code, 54 MB of source tarballs). Heaviest: stringi 11 MB, ggplot2 6.0 MB, data.table 5.7 MB.
Code & Tests
Datasets
People & History
Previously maintained by Nathaniel Phillips (1.0.1 to 1.6.6).
Pick two releases to compare their code metrics.
- RR 4.6.0 released · 2026-04-24
- 2.1.0Latest
- RR 4.5.0 released · 2025-04-11
- RR 4.4.0 released · 2024-04-24
- 2.0.02023-06-06 · diff ↗ ·
added 13 exports
add_fft_df, add_nodes, describe_data, drop_nodes, edit_nodes, flip_exits, get_best_tree, get_exit_type, get_fft_df, read_fft_df, reorder_nodes, select_nodes, write_fft_df - RR 4.3.0 released · 2023-04-21
- 1.9.02023-02-08 · diff ↗
- 1.8.02023-01-06 · diff ↗
- 1.7.52022-09-15 · diff ↗
- 1.7.02022-08-31 · diff ↗
- unarchivedReturned to CRAN2022-07-18
- 1.6.62022-07-18 · diff ↗
- 1.6.5
- RR 4.2.0 released · 2022-04-22
- RR 4.1.0 released · 2021-05-18
- archivedRemoved from CRAN2020-07-23check problems were not corrected in time
Show 22 earlier eventsHide 22 earlier events
- unarchivedReturned to CRAN2020-06-08
- 1.5.52020-06-08 · diff ↗ ·
removed 6 exports
FFForest, cuerank, grow.FFTrees, heuristic.algorithm, updateHistory, wordstoFFTadded 5 exports
fftrees_cuerank, fftrees_ffttowords, fftrees_threshold_factor_grid, fftrees_threshold_numeric_grid, fftrees_wordstofftrees - RR 4.0.0 released · 2020-04-24
- archivedRemoved from CRAN2020-03-07check problems were not corrected despite reminders
- RR 3.6.0 released · 2019-04-26
- 1.4.02018-09-15 · diff ↗ ·
removed 6 exports
apply.tree, auc, classtable, comp.pred, factclean, fan.algorithm - RR 3.5.0 released · 2018-04-23
- 1.3.5
- 1.3.42017-08-28 · diff ↗
- 1.3.32017-07-11 · diff ↗
- 1.3.2
- 1.2.32017-05-04 · diff ↗
- RR 3.4.0 released · 2017-04-21
- 1.2.22017-04-18 · diff ↗ ·
removed 3 exports
cart.pred, fft, lr.predadded 3 exports
FFForest, apply.tree, comp.pred - 1.1.82016-10-08 · diff ↗
- 1.1.6
- 1.1.4
- 1.1.3
- 1.1.1
- 1.1.02016-07-19 · diff ↗ ·
removed 3 exports
applyfft, simfft, simfftplotadded 5 exports
auc, cart.pred, grow.ffts, lr.pred, transparent - 1.0.12016-07-12
- RR 3.3.0 released · 2016-05-03
Package metadata
- First published
- 2016-07-12
- Total releases
- 23 / 10 yrs
- License
- CC0
- Minimum R
- ≥ 3.5.0
- Bundled data
- 240 KB / 17 files
- Download size
- 3.2 MB
Cite
Cite this package
Run in R for the authors' entry:
citation("FFTrees")The package provides a citation file, so citation() returns the authors' own entry.
It points to 10.1017/s1930297500006239.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-21, which the citation names so these numbers can be found later. More on citing and the projects behind them.