### R code from vignette source 'partykit.Rnw'
###################################################
### code chunk number 1: setup
###################################################
suppressWarnings(RNGversion("3.5.2"))
options(width = 70)
library("partykit")
set.seed(290875)
###################################################
### code chunk number 2: weather-data
###################################################
data("WeatherPlay", package = "partykit")
WeatherPlay
###################################################
### code chunk number 3: weather-plot0
###################################################
py <- party(
partynode(1L,
split = partysplit(1L, index = 1:3),
kids = list(
partynode(2L,
split = partysplit(3L, breaks = 75),
kids = list(
partynode(3L, info = "yes"),
partynode(4L, info = "no"))),
partynode(5L, info = "yes"),
partynode(6L,
split = partysplit(4L, index = 1:2),
kids = list(
partynode(7L, info = "yes"),
partynode(8L, info = "no"))))),
WeatherPlay)
plot(py)
###################################################
### code chunk number 4: weather-splits
###################################################
sp_o <- partysplit(1L, index = 1:3)
sp_h <- partysplit(3L, breaks = 75)
sp_w <- partysplit(4L, index = 1:2)
###################################################
### code chunk number 5: weather-nodes
###################################################
pn <- partynode(1L, split = sp_o, kids = list(
partynode(2L, split = sp_h, kids = list(
partynode(3L, info = "yes"),
partynode(4L, info = "no"))),
partynode(5L, info = "yes"),
partynode(6L, split = sp_w, kids = list(
partynode(7L, info = "yes"),
partynode(8L, info = "no")))))
###################################################
### code chunk number 6: weather-nodes-print
###################################################
pn
###################################################
### code chunk number 7: weather-party
###################################################
py <- party(pn, WeatherPlay)
print(py)
###################################################
### code chunk number 8: weather-plot (eval = FALSE)
###################################################
## plot(py)
###################################################
### code chunk number 9: weather-predict
###################################################
predict(py, head(WeatherPlay))
###################################################
### code chunk number 10: weather-methods-dim
###################################################
length(py)
width(py)
depth(py)
###################################################
### code chunk number 11: weather-methods-subset
###################################################
py[6]
###################################################
### code chunk number 12: weather-methods-names
###################################################
py2 <- py
names(py2)
names(py2) <- LETTERS[1:8]
py2
###################################################
### code chunk number 13: weather-methods-nodeids
###################################################
nodeids(py)
nodeids(py, terminal = TRUE)
###################################################
### code chunk number 14: weather-methods-nodeapply
###################################################
nodeapply(py, ids = c(1, 7), FUN = function(n) n$info)
nodeapply(py, ids = nodeids(py, terminal = TRUE),
FUN = function(n) paste("Play decision:", n$info))
###################################################
### code chunk number 15: weather-methods-predict
###################################################
predict(py, FUN = function(n) paste("Play decision:", n$info))
###################################################
### code chunk number 16: weather-methods-print
###################################################
print(py, terminal_panel = function(n)
c(", then the play decision is:", toupper(n$info)))
###################################################
### code chunk number 17: weather-methods-plot (eval = FALSE)
###################################################
## plot(py, tp_args = list(FUN = function(i)
## c("Play decision:", toupper(i))))
###################################################
### code chunk number 18: weather-methods-plot1
###################################################
plot(py[6])
###################################################
### code chunk number 19: weather-methods-plot2
###################################################
plot(py, tp_args = list(FUN = function(i)
c("Play decision:", toupper(i))))
###################################################
### code chunk number 20: weather-prune
###################################################
nodeprune(py, 2)
nodeprune(py, c(2, 6))
###################################################
### code chunk number 21: partysplit-1
###################################################
sp_h <- partysplit(3L, breaks = 75)
class(sp_h)
###################################################
### code chunk number 22: partysplit-2
###################################################
unclass(sp_h)
###################################################
### code chunk number 23: partysplit-3
###################################################
character_split(sp_h, data = WeatherPlay)
###################################################
### code chunk number 24: partysplit-4
###################################################
kidids_split(sp_h, data = WeatherPlay)
###################################################
### code chunk number 25: partysplit-5
###################################################
as.numeric(!(WeatherPlay$humidity <= 75)) + 1
###################################################
### code chunk number 26: partysplit-6
###################################################
sp_o2 <- partysplit(1L, index = c(1L, 1L, 2L))
character_split(sp_o2, data = WeatherPlay)
table(kidids_split(sp_o2, data = WeatherPlay), WeatherPlay$outlook)
###################################################
### code chunk number 27: partysplit-6
###################################################
unclass(sp_o2)
###################################################
### code chunk number 28: partysplit-7
###################################################
sp_o <- partysplit(1L, index = 1L:3L)
character_split(sp_o, data = WeatherPlay)
###################################################
### code chunk number 29: partysplit-8
###################################################
sp_t <- partysplit(2L, breaks = c(69.5, 78.8), index = c(1L, 2L, 1L))
character_split(sp_t, data = WeatherPlay)
table(kidids_split(sp_t, data = WeatherPlay),
cut(WeatherPlay$temperature, breaks = c(-Inf, 69.5, 78.8, Inf)))
###################################################
### code chunk number 30: partynode-1
###################################################
n1 <- partynode(id = 1L)
is.terminal(n1)
print(n1)
###################################################
### code chunk number 31: partynode-2
###################################################
n1 <- partynode(id = 1L, split = sp_o, kids = lapply(2L:4L, partynode))
print(n1, data = WeatherPlay)
###################################################
### code chunk number 32: partynode-3
###################################################
fitted_node(n1, data = WeatherPlay)
###################################################
### code chunk number 33: partynode-4
###################################################
kidids_node(n1, data = WeatherPlay)
###################################################
### code chunk number 34: party-1a
###################################################
t1 <- party(n1, data = WeatherPlay)
t1
###################################################
### code chunk number 35: party-1b
###################################################
party(n1, data = WeatherPlay[0, ])
###################################################
### code chunk number 36: party-2
###################################################
t2 <- party(n1,
data = WeatherPlay,
fitted = data.frame(
"(fitted)" = fitted_node(n1, data = WeatherPlay),
"(response)" = WeatherPlay$play,
check.names = FALSE),
terms = terms(play ~ ., data = WeatherPlay),
)
###################################################
### code chunk number 37: party-3
###################################################
t2 <- as.constparty(t2)
t2
###################################################
### code chunk number 38: constparty-plot
###################################################
plot(t2, tnex = 1.5)
###################################################
### code chunk number 39: party-4
###################################################
nd <- data.frame(outlook = factor(c("overcast", "sunny"),
levels = levels(WeatherPlay$outlook)))
predict(t2, newdata = nd, type = "response")
predict(t2, newdata = nd, type = "prob")
predict(t2, newdata = nd, type = "node")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.