R: Methods for Party Objects

party-methods {partykit} | R Documentation

## Methods for Party Objects

### Description

Methods for computing on `party` objects.

### Usage

    ## S3 method for class 'party'
    print(x,
        terminal_panel = function(node)
          formatinfo_node(node, default = "*", prefix = ": "),
        tp_args = list(),
        inner_panel = function(node) "", ip_args = list(),
        header_panel = function(party) "",
        footer_panel = function(party) "",
        digits = getOption("digits") - 2, ...)
    ## S3 method for class 'simpleparty'
    print(x, digits = getOption("digits") - 4,
        header = NULL, footer = TRUE, ...)
    ## S3 method for class 'constparty'
    print(x, FUN = NULL, digits = getOption("digits") - 4,
        header = NULL, footer = TRUE, ...)
    ## S3 method for class 'party'
    length(x)
    ## S3 method for class 'party'
    x[i, ...]
    ## S3 method for class 'party'
    x[[i, ...]]
    ## S3 method for class 'party'
    depth(x, root = FALSE, ...)
    ## S3 method for class 'party'
    width(x, ...)
    ## S3 method for class 'party'
    nodeprune(x, ids, ...)

### Arguments

`x` | an object of class `party`.
`i` | an integer specifying the root of the subtree to extract.
`terminal_panel` | a panel function for printing terminal nodes.
`tp_args` | a list containing arguments to `terminal_panel`.
`inner_panel` | a panel function for printing inner nodes.
`ip_args` | a list containing arguments to `inner_panel`.
`header_panel` | a panel function for printing the header.
`footer_panel` | a panel function for printing the footer.
`digits` | number of digits to be printed.
`header` | header to be printed.
`footer` | footer to be printed.
`FUN` | a function to be applied to nodes.
`root` | a logical. Should the root count be counted in `depth`?
`ids` | a vector of node ids (or their names) to be pruned-off.
`...` | additional arguments.

### Details

`length` gives the number of nodes in the tree (in contrast to the `length` method for `partynode` objects which returns the number of kid nodes in the root), `depth` the depth of the tree and `width` the number of terminal nodes. The subset methods extract subtrees and the `print` method generates a textual representation of the tree. `nodeprune` prunes-off nodes and makes sure that the node ids of the resulting tree are in pre-order starting with root node id 1. For `constparty` objects, the `fitted` slot is also changed.

### Examples

        ## a tree as flat list structure
        nodelist <- list(
            # root node
            list(id = 1L, split = partysplit(varid = 4L, breaks = 1.9),
                kids = 2:3),
            # V4 <= 1.9, terminal node
            list(id = 2L),
            # V4 > 1.9
            list(id = 3L, split = partysplit(varid = 5L, breaks = 1.7),
                kids = c(4L, 7L)),
            # V5 <= 1.7
            list(id = 4L, split = partysplit(varid = 4L, breaks = 4.8),
                kids = 5:6),
            # V4 <= 4.8, terminal node
            list(id = 5L),
            # V4 > 4.8, terminal node
            list(id = 6L),
            # V5 > 1.7, terminal node
            list(id = 7L)
        )

        ## convert to a recursive structure
        node <- as.partynode(nodelist)

        ## set up party object
        data("iris")
        tree <- party(node, data = iris,
            fitted = data.frame("(fitted)" =
                fitted_node(node, data = iris),
                check.names = FALSE))
        names(tree) <- paste("Node", nodeids(tree), sep = " ")

        ## number of kids in root node
        length(tree)

        ## depth of tree
        depth(tree)

        ## number of terminal nodes
        width(tree)

        ## node number four
        tree["Node 4"]
        tree[["Node 4"]]

[Package partykit version 1.2-7 Index]