nodeapply | R Documentation |
Returns a list of values obtained by applying a function to
party
or partynode
objects.
nodeapply(obj, ids = 1, FUN = NULL, ...)
## S3 method for class 'partynode'
nodeapply(obj, ids = 1, FUN = NULL, ...)
## S3 method for class 'party'
nodeapply(obj, ids = 1, FUN = NULL, by_node = TRUE, ...)
obj |
an object of class |
ids |
integer vector of node identifiers to apply over. |
FUN |
a function to be applied to nodes. By default, the node itself is returned. |
by_node |
a logical indicating if |
... |
additional arguments. |
Function FUN
is applied to all nodes with node identifiers in
ids
for a partynode
object.
The method for party
by default calls the nodeapply
method on it's node
slot. If by_node
is FALSE
,
it is applied to a party
object with root node ids
.
A list of results of length length(ids)
.
## 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, info = "terminal A"),
# 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, info = "terminal B"),
# V4 > 4.8, terminal node
list(id = 6L, info = "terminal C"),
# V5 > 1.7, terminal node
list(id = 7L, info = "terminal D")
)
## convert to a recursive structure
node <- as.partynode(nodelist)
## return root node
nodeapply(node)
## return info slots of terminal nodes
nodeapply(node, ids = nodeids(node, terminal = TRUE),
FUN = function(x) info_node(x))
## fit tree using rpart
library("rpart")
rp <- rpart(Kyphosis ~ Age + Number + Start, data = kyphosis)
## coerce to `constparty'
rpk <- as.party(rp)
## extract nodeids
nodeids(rpk)
unlist(nodeapply(node_party(rpk), ids = nodeids(rpk),
FUN = id_node))
unlist(nodeapply(rpk, ids = nodeids(rpk), FUN = id_node))
## but root nodes of party objects always have id = 1
unlist(nodeapply(rpk, ids = nodeids(rpk), FUN = function(x)
id_node(node_party(x)), by_node = FALSE))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.