Predictions from a Fitted Tree Object

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

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

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.


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.


character string denoting whether the predictions are returned as a vector (default) or as a tree object.


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.


weights for the newdata cases, used when predicting a tree.


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.


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.


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.


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

See Also

predict, tree.

  • predict.tree
data(shuttle, package="MASS") <- tree(use ~ ., shuttle, subset=1:253,
                   mindev=1e-6, minsize=2)
shuttle1 <- shuttle[254:256, ]  # 3 missing cases
predict(, shuttle1)
# }
Documentation reproduced from package tree, version 1.0-40, License: GPL-2 | GPL-3

Community examples

Looks like there are no examples yet.