Methods for computing on party
objects.
# S3 method for 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 simpleparty
print(x, digits = getOption("digits") - 4,
header = NULL, footer = TRUE, …)
# S3 method for constparty
print(x, FUN = NULL, digits = getOption("digits") - 4,
header = NULL, footer = TRUE, …)
# S3 method for party
length(x)
# S3 method for party
[(x, i, …)
# S3 method for party
[[(x, i, …)
# S3 method for party
depth(x, root = FALSE, …)
# S3 method for party
width(x, …)
# S3 method for party
nodeprune(x, ids, ...)
an object of class party
.
an integer specifying the root of the subtree to extract.
a panel function for printing terminal nodes.
a list containing arguments to terminal_panel
.
a panel function for printing inner nodes.
a list containing arguments to inner_panel
.
a panel function for printing the header.
a panel function for printing the footer.
number of digits to be printed.
header to be printed.
footer to be printed.
a function to be applied to nodes.
a logical. Should the root count be counted in depth
?
a vector of node ids (or their names) to be pruned-off.
additional arguments.
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.
# NOT RUN {
## 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"]]
# }
Run the code above in your browser using DataLab