# predict.mvr

##### Predict Method for PLSR and PCR

Prediction for mvr (PCR, PLSR) models. New responses or scores are predicted using a fitted model and a new matrix of observations.

- Keywords
- multivariate, regression

##### Usage

```
# S3 method for mvr
predict(object, newdata, ncomp = 1:object$ncomp, comps,
type = c("response", "scores"), na.action = na.pass, …)
```

##### Arguments

- object
an

`mvr`

object. The fitted model- newdata
a data frame. The new data. If missing, the training data is used.

- ncomp, comps
vector of positive integers. The components to use in the prediction. See below.

- type
character. Whether to predict scores or response values

- na.action
function determining what should be done with missing values in

`newdata`

. The default is to predict`NA`

. See`na.omit`

for alternatives.- …
further arguments. Currently not used

##### Details

When `type`

is `"response"`

(default), predicted response
values are returned. If `comps`

is missing (or is `NULL`

),
predictions for `length(ncomp)`

models with `ncomp[1]`

components, `ncomp[2]`

components, etc., are returned.
Otherwise, predictions for a single model with the exact components in
`comps`

are returned. (Note that in both cases, the intercept is
always included in the predictions. It can be removed by subtracting
the `Ymeans`

component of the fitted model.)

When `type`

is `"scores"`

, predicted score values are
returned for the components given in `comps`

. If `comps`

is
missing or `NULL`

, `ncomps`

is used instead.

It is also possible to supply a matrix instead of a data frame as
`newdata`

, which is then assumed to be the \(X\) data matrix.
Note that the usual checks for the type of the data are then
omitted. Also note that this is
*only* possible with `predict`

; it will not work in
functions like `predplot`

, `RMSEP`

or
`R2`

, because they also need the response variable of the new
data.

##### Value

When `type`

is `"response"`

, a three dimensional array of
predicted response values is returned. The dimensions correspond to
the observations, the response variables and the model sizes,
respectively.

When `type`

is `"scores"`

, a score matrix is returned.

##### Note

A warning message like `'newdata' had 10 rows but variable(s)
found have 106 rows` means that not all variables were found in the
`newdata`

data frame. This (usually) happens if the formula
contains terms like `yarn$NIR`

. Do not use such terms; use the
`data`

argument instead. See `mvr`

for details.

##### See Also

##### Examples

```
# NOT RUN {
data(yarn)
nir.mvr <- mvr(density ~ NIR, ncomp = 5, data = yarn[yarn$train,])
## Predicted responses for models with 1, 2, 3 and 4 components
pred.resp <- predict(nir.mvr, ncomp = 1:4, newdata = yarn[!yarn$train,])
## Predicted responses for a single model with components 1, 2, 3, 4
predict(nir.mvr, comps = 1:4, newdata = yarn[!yarn$train,])
## Predicted scores
predict(nir.mvr, comps = 1:3, type = "scores", newdata = yarn[!yarn$train,])
# }
```

*Documentation reproduced from package pls, version 2.7-2, License: GPL-2*