# predict.tree

##### Predictions from a Fitted Tree Object

Returns a vector of predicted responses from a fitted tree object.

- Keywords
- tree

##### Usage

```
# S3 method for tree
predict(object, newdata = list(),
type = c("vector", "tree", "class", "where"),
split = FALSE, nwts, eps = 1e-3, ...)
```

##### Arguments

- object
fitted model object of class

`tree`

. This is assumed to be the result of some function that produces an object with the same named components as that returned by the`tree`

function.- newdata
data frame containing the values at which predictions are required. The predictors referred to in the right side of

`formula(object)`

must be present by name in`newdata`

. If missing, fitted values are returned.- type
character string denoting whether the predictions are returned as a vector (default) or as a tree object.

- split
governs the handling of missing values. If false, cases with missing values are dropped down the tree until a leaf is reached or a node for which the attribute is missing, and that node is used for prediction. If

`split = TRUE`

cases with missing attributes are split into fractional cases and dropped down each side of the split. The predicted values are averaged over the fractions to give the prediction.- nwts
weights for the

`newdata`

cases, used when predicting a tree.- eps
a lower bound for the probabilities, used if events of predicted probability zero occur in

`newdata`

when predicting a tree.- …
further arguments passed to or from other methods.

##### Details

This function is a method for the generic function
`predict()`

for class `tree`

.
It can be invoked by calling `predict(x)`

for an
object `x`

of the appropriate class, or directly by
calling `predict.tree(x)`

regardless of the
class of the object.

##### Value

If `type = "vector"`

:
vector of predicted responses or, if the response is a factor, matrix
of predicted class probabilities. This new object is obtained by
dropping `newdata`

down `object`

. For factor predictors, if an
observation contains a level not used to grow the tree, it is left at
the deepest possible node and `frame$yval`

or `frame$yprob`

at that
node is the prediction.

If `type = "tree"`

:
an object of class `"tree"`

is returned with new values
for `frame$n`

and `frame$dev`

. If
`newdata`

does not contain a column for the response in the formula
the value of `frame$dev`

will be `NA`

, and if some values in the
response are missing, the some of the deviances will be `NA`

.

If `type = "class"`

:
for a classification tree, a factor of the predicted classes (that
with highest posterior probability, with ties split randomly).

If `type = "where"`

:
the nodes the cases reach.

##### References

Ripley, B. D. (1996).
*Pattern Recognition and Neural Networks.*
Cambridge University Press, Cambridge. Chapter 7.

##### See Also

##### Examples

```
# NOT RUN {
data(shuttle, package="MASS")
shuttle.tr <- tree(use ~ ., shuttle, subset=1:253,
mindev=1e-6, minsize=2)
shuttle.tr
shuttle1 <- shuttle[254:256, ] # 3 missing cases
predict(shuttle.tr, shuttle1)
# }
```

*Documentation reproduced from package tree, version 1.0-40, License: GPL-2 | GPL-3*