Switch to side-by-side view

--- a
+++ b/partyMod/man/BinaryTree-class.Rd
@@ -0,0 +1,140 @@
+\name{BinaryTree Class}
+\docType{class}
+\alias{BinaryTree-class}
+\alias{weights}
+\alias{weights-methods}
+\alias{weights,BinaryTree-method}
+\alias{show,BinaryTree-method}
+\alias{where}
+\alias{where-methods}
+\alias{where,BinaryTree-method}
+\alias{response}
+\alias{response-methods}
+\alias{response,BinaryTree-method}
+\alias{nodes}
+\alias{nodes-methods}
+\alias{nodes,BinaryTree,integer-method}
+\alias{nodes,BinaryTree,numeric-method}
+\alias{treeresponse}
+\alias{treeresponse-methods}
+\alias{treeresponse,BinaryTree-method}
+\title{Class "BinaryTree"}
+\description{A class for representing binary trees.}
+\section{Objects from the Class}{
+Objects can be created by calls of the form \code{new("BinaryTree", ...)}.
+The most important slot is \code{tree}, a (recursive) list with elements
+\describe{
+  \item{nodeID}{ an integer giving the number of the node, starting with
+                \code{1} in the root node.}
+  \item{weights}{ the case weights (of the learning sample) corresponding to
+                this node.}
+  \item{criterion}{ a list with test statistics and p-values for each partial
+                  hypothesis.}
+  \item{terminal}{ a logical specifying if this is a terminal node.}
+  \item{psplit}{ primary split: a list with elements \code{variableID} (the
+               number of the input variable splitted), \code{ordered} (a
+               logical whether the input variable is ordered),
+               \code{splitpoint} (the cutpoint or set of levels to the left),
+               \code{splitstatistics} saves the process of standardized 
+               two-sample statistics the split point estimation is based on.
+               The logical \code{toleft} determines if observations
+               go left or right down the tree. For nominal splits, the slot
+               \code{table} is a vector being greater zero if the
+               corresponding level is available in the corresponding node.}
+  \item{ssplits}{ a list of surrogate splits, each with the same elements as
+                 \code{psplit}.}
+  \item{prediction}{ the prediction of the node: the mean for numeric
+                     responses and the conditional class probabilities for 
+                     nominal or ordered respones. For censored responses,
+                     this is the mean of the logrank scores and useless as
+                     such.}
+  \item{left}{ a list representing the left daughter node. }
+  \item{right}{ a list representing the right daugther node.}
+}
+
+Please note that this data structure may be subject to change in future
+releases of the package.
+
+}
+\section{Slots}{
+  \describe{
+    \item{\code{data}:}{ an object of class \code{"\linkS4class{ModelEnv}"}.}
+    \item{\code{responses}:}{ an object of class \code{"VariableFrame"}
+                              storing the values of the response variable(s). }
+    \item{\code{cond_distr_response}:}{ a function computing the conditional
+                                        distribution of the response. } 
+    \item{\code{predict_response}:}{ a function for computing predictions. }
+    \item{\code{tree}:}{ a recursive list representing the tree. See above. }
+    \item{\code{where}:}{ an integer vector of length n (number of
+                          observations in the learning sample) giving the
+                          number of the terminal node the corresponding
+                          observations is element of. }
+    \item{\code{prediction_weights}:}{ a function for extracting weights from
+                                     terminal nodes. }
+    \item{\code{get_where}:}{ a function for determining the number
+        of terminal nodes observations fall into. }
+    \item{\code{update}:}{ a function for updating weights.}
+  }
+}
+\section{Extends}{
+Class \code{"BinaryTreePartition"}, directly.
+}
+\section{Methods}{
+\describe{
+    \item{\code{response(object, ...)}:}{extract the response variables the
+       tree was fitted to.}
+    \item{\code{treeresponse(object, newdata = NULL, ...)}:}{compute
+      statistics for the conditional distribution of the response as
+      modelled by the tree. For regression problems, this is just the mean.
+      For nominal or ordered responses, estimated conditional class
+      probabilities are returned. Kaplan-Meier curves are computed for
+      censored responses. Note that a list with one element for each
+      observation is returned.}
+    \item{\code{Predict(object, newdata = NULL, ...)}:}{ compute predictions.}
+    \item{\code{weights(object, newdata = NULL, ...)}:}{ extract the weight
+      vector from terminal nodes each element of the learning sample is
+      element of (\code{newdata = NULL}) and for new observations, 
+      respectively.}
+    \item{\code{where(object, newdata = NULL, ...)}:}{ extract the number of 
+      the terminal nodes each element of the learning sample is
+      element of (\code{newdata = NULL}) and for new observations, 
+      respectively.}
+    \item{\code{nodes(object, where, ...)}:}{ extract the nodes with
+      given number (\code{where}).}
+    \item{\code{plot(x, ...)}:}{ a plot method for \code{BinaryTree}
+      objects, see \code{\link{plot.BinaryTree}}.}
+    \item{\code{print(x, ...)}:}{ a print method for \code{BinaryTree}
+      objects.}
+}
+}
+\examples{
+
+  set.seed(290875)
+
+  airq <- subset(airquality, !is.na(Ozone))
+  airct <- ctree(Ozone ~ ., data = airq,   
+                 controls = ctree_control(maxsurrogate = 3))
+
+  ### distribution of responses in the terminal nodes
+  plot(airq$Ozone ~ as.factor(where(airct)))
+
+  ### get all terminal nodes from the tree
+  nodes(airct, unique(where(airct)))
+
+  ### extract weights and compute predictions
+  pmean <- sapply(weights(airct), function(w) weighted.mean(airq$Ozone, w))
+
+  ### the same as
+  drop(Predict(airct))
+
+  ### or
+  unlist(treeresponse(airct))
+
+  ### don't use the mean but the median as prediction in each terminal node
+  pmedian <- sapply(weights(airct), function(w) 
+                 median(airq$Ozone[rep(1:nrow(airq), w)]))
+
+  plot(airq$Ozone, pmean, col = "red")
+  points(airq$Ozone, pmedian, col = "blue")
+}
+\keyword{classes}