Learn R Programming

rpart (version 4.0-3)

rpart: Recursive Partitioning and Regression Trees

Description

Fit a rpart model

Usage

rpart(formula, data, weights, subset, na.action = na.rpart, method,
      model = FALSE, x = FALSE, y = TRUE, parms, control, cost, ...)

Arguments

formula
a formula, with a response but no interaction terms. If this a a data frome, that is taken as the model frame (see model.frame).
data
an optional data frame in which to interpret the variables named in the formula.
weights
optional case weights.
subset
optional expression saying that only a subset of the rows of the data should be used in the fit.
na.action
the default action deletes all observations for which y is missing, but keeps those in which one or more predictors are missing.
method
one of "anova", "poisson", "class" or "exp". If method is missing then the routine tries to make an intelligent guess. If y is a survival object, then method=
model
if logical: keep a copy of the model frame in the result? If the input value for model is a model frame (likely from an earlier call to the rpart function), then this frame is used rather than constructing new data.
x
keep a copy of the x matrix in the result.
y
keep a copy of the dependent variable in the result. If missing and model is supplied this defaults to FALSE.
parms
optional parameters for the splitting function. Anova splitting has no parameters. Poisson splitting has a single parameter, the coefficient of variation of the prior distribution on the rates. The default value is 1. Exponential splitting has the sa
control
a list of options that control details of the rpart algorithm. See rpart.control.
cost
a vector of non-negative costs, one for each variable in the model. Defaults to one for all variables. These are scalings to be applied when considering splits, so the improvement on splitting on a variable is divided by its cost in deciding
...
arguments to rpart.control may also be specified in the call to rpart. They are checked against the list of valid arguments.

Value

Details

This differs from the tree function in S mainly in its handling of surrogate variables. In most details it follows Breiman et. al (1984) quite closely. Rpackage tree provides a re-implementation of tree.

References

Breiman L., Friedman J. H., Olshen R. A., and Stone, C. J. (1984) Classification and Regression Trees. Wadsworth.

See Also

rpart.control, rpart.object, summary.rpart, print.rpart

Examples

Run this code
fit <- rpart(Kyphosis ~ Age + Number + Start, data = kyphosis)
fit2 <- rpart(Kyphosis ~ Age + Number + Start, data = kyphosis,
              parms = list(prior = c(.65,.35), split = "information"))
fit3 <- rpart(Kyphosis ~ Age + Number + Start, data = kyphosis,
              control = rpart.control(cp = 0.05))
par(mfrow = c(1,2), xpd = NA) # otherwise on some devices the text is clipped
plot(fit)
text(fit, use.n = TRUE)
plot(fit2)
text(fit2, use.n = TRUE)

Run the code above in your browser using DataLab