# predict.loess

##### Predict Loess Curve or Surface

Predictions from a `loess`

fit, optionally with standard errors.

- Keywords
- smooth

##### Usage

```
# S3 method for loess
predict(object, newdata = NULL, se = FALSE,
na.action = na.pass, …)
```

##### Arguments

- object
- an object fitted by
`loess`

. - newdata
- an optional data frame in which to look for variables with which to predict, or a matrix or vector containing exactly the variables needs for prediction. If missing, the original data points are used.
- se
- should standard errors be computed?
- na.action
- function determining what should be done with missing
values in data frame
`newdata`

. The default is to predict`NA`

. - …
- arguments passed to or from other methods.

##### Details

The standard errors calculation is slower than prediction. When the fit was made using `surface = "interpolate"`

(the
default), `predict.loess`

will not extrapolate -- so points outside
an axis-aligned hypercube enclosing the original data will have
missing (`NA`

) predictions and standard errors.

##### Value

If `se = FALSE`

, a vector giving the prediction for each row of
`newdata`

(or the original data). If `se = TRUE`

, a list
containing components

`newdata`

was the result of a call to
`expand.grid`

, the predictions (and s.e.'s if requested)
will be an array of the appropriate dimensions. Predictions from infinite inputs will be `NA`

since `loess`

does not support extrapolation.
##### Note

Variables are first looked for in `newdata`

and then searched for
in the usual way (which will include the environment of the formula
used in the fit). A warning will be given if the
variables found are not of the same length as those in `newdata`

if it was supplied.

##### See Also

##### Examples

`library(stats)`

```
cars.lo <- loess(dist ~ speed, cars)
predict(cars.lo, data.frame(speed = seq(5, 30, 1)), se = TRUE)
# to get extrapolation
cars.lo2 <- loess(dist ~ speed, cars,
control = loess.control(surface = "direct"))
predict(cars.lo2, data.frame(speed = seq(5, 30, 1)), se = TRUE)
```

*Documentation reproduced from package stats, version 3.3.3, License: Part of R 3.3.3*