LeafNode: A leaf node in a decision tree

LeafNodeR Documentation

A leaf node in a decision tree

Description

An R6 class representing a leaf (terminal) node in a decision tree.

Details

Represents a terminal state in a tree, and is associated with an incremental utility. Inherits from class Node.

Super class

rdecision::Node -> LeafNode

Methods

Public methods

Inherited methods

Method new()

Create a new LeafNode object; synonymous with a health state.

Usage
LeafNode$new(
  label,
  utility = 1,
  interval = as.difftime(365.25, units = "days"),
  ru = 0
)
Arguments
label

Character string; a label for the state; must be defined because it is used in tabulations. The label is automatically converted to a syntactically valid (in R) name to ensure it can be used as a column name in a data frame.

utility

The utility that a user associates with being in the health state for the interval. Can be numeric or a type of ModVar. If the type is numeric, the allowed range is -Inf to 1; if it is of type ModVar, it is unchecked.

interval

The time horizon, or duration for which a user is expected to occupy the health state and experience a health-related quality of life of utility, expressed as an R difftime object; default 1 year.

ru

Annual discount rate for future utility. Note this is a rate, not a probability (i.e., use 0.035 for 3.5%).

Returns

A new LeafNode object


Method grob()

Creates a grid::grob for a leaf node.

Usage
LeafNode$grob(x, y, bb = FALSE)
Arguments
x

x coordinate of the node, grid::unit object.

y

y coordinate of the node, grid::unit object.

bb

Logical. If TRUE, function returns the bounding box.

Returns

A grid::grob containing the symbol and label, or a bounding box as a grid::unit vector with 4 elements: left, right, bottom, top.


Method modvars()

Find all the model variables of type ModVar that have been specified as values associated with this LeafNode. Includes operands of these ModVars, if they are expressions.

Usage
LeafNode$modvars()
Returns

A list of ModVars.


Method set_utility()

Set the utility associated with the node.

Usage
LeafNode$set_utility(utility)
Arguments
utility

The utility that a user associates with being in the health state for the interval. Can be numeric or a type of ModVar. If the type is numeric, the allowed range is -Inf to 1, not NA; if it is of type ModVar, it is unchecked.

Returns

Updated Leaf object.


Method set_interval()

Set the time interval associated with the node.

Usage
LeafNode$set_interval(interval)
Arguments
interval

The time interval over which the utility parameter applies, expressed as an R difftime object; default 1 year, not NA.

Returns

Updated Leaf object.


Method utility()

Return the utility associated with being in the state for the interval.

Usage
LeafNode$utility()
Returns

Utility (numeric value).


Method interval()

Return the interval associated with being in the state.

Usage
LeafNode$interval()
Returns

Interval (as a difftime).


Method QALY()

Return the discounted quality adjusted life years associated with being in the state.

Usage
LeafNode$QALY()
Details

The present value of utility at future time t can be expressed as u_t = u_0 e^{-rt}, where u_0 is the utility at time t = 0 and r is the discount rate for utility (O'Mahony, 2015), under the assumption of continuous discount. The quality adjusted life years (QALYs) gained by occupying the state for time t' is

\int_{0}^{t'} u_t dt.

For r > 0, the QALY gain is equal to

\frac{u_0}{r}(1 - e^{-rt'}),

and for r=0, it is u_0 t'. For example, at a discount rate of 3.5%, the number of QALYs gained after occupying a state for 1 year with a present value utility of 0.75 is 0.983 \times 0.75 \approx 0.737 QALYs, and after 2 years the gain is 1.449 QALYs.

Returns

QALY.


Method clone()

The objects of this class are cloneable with this method.

Usage
LeafNode$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.

Author(s)

Andrew J. Sims andrew.sims@newcastle.ac.uk

References

O'Mahony JF, Newall AT, van Rosmalen J. Dealing with time in health economic evaluation: methodological issues and recommendations for practice. PharmacoEconomics 2015;33:1255–1268.


rdecision documentation built on April 3, 2025, 6:09 p.m.