# coef.mvr

##### Extract Information From a Fitted PLSR or PCR Model

Functions to extract information from `mvr`

objects: Regression
coefficients, fitted values, residuals, the model frame, the model
matrix, names of the variables and components, and the \(X\)
variance explained by the components.

- Keywords
- multivariate, regression

##### Usage

```
# S3 method for mvr
coef(object, ncomp = object$ncomp, comps, intercept = FALSE, …)
# S3 method for mvr
fitted(object, …)
# S3 method for mvr
residuals(object, …)
# S3 method for mvr
model.matrix(object, …)
# S3 method for mvr
model.frame(formula, …)
prednames(object, intercept = FALSE)
respnames(object)
compnames(object, comps, explvar = FALSE, …)
explvar(object)
```

##### Arguments

- object, formula
an

`mvr`

object. The fitted model.- ncomp, comps
vector of positive integers. The components to include in the coefficients or to extract the names of. See below.

- intercept
logical. Whether coefficients for the intercept should be included. Ignored if

`comps`

is specified. Defaults to`FALSE`

.- explvar
logical. Whether the explained \(X\) variance should be appended to the component names.

- …
other arguments sent to underlying functions. Currently only used for

`model.frame.mvr`

and`model.matrix.mvr`

.

##### Details

These functions are mostly used inside other functions. (Functions
`coef.mvr`

, `fitted.mvr`

and `residuals.mvr`

are
usually called through their generic functions `coef`

,
`fitted`

and `residuals`

, respectively.)

`coef.mvr`

is used to extract the regression coefficients of a
model, i.e. the \(B\) in \(y = XB\) (for the \(Q\) in \(y = TQ\)
where \(T\) is the scores, see `Yloadings`

). An array of
dimension `c(nxvar, nyvar, length(ncomp))`

or ```
c(nxvar, nyvar,
length(comps))
```

is returned.

If `comps`

is missing (or is `NULL`

),
`coef()[,,ncomp[i]]`

are the coefficients for models with
`ncomp[i]`

components, for \(i = 1, \ldots, length(ncomp)\).
Also, if `intercept = TRUE`

, the first dimension is \(nxvar +
1\), with the intercept coefficients as the first row.

If `comps`

is given, however, `coef()[,,comps[i]]`

are
the coefficients for a model with only the component `comps[i]`

,
i.e. the contribution of the component `comps[i]`

on the
regression coefficients.

`fitted.mvr`

and `residuals.mvr`

return the fitted values
and residuals, respectively. If the model was fitted with
`na.action = na.exclude`

(or after setting the default
`na.action`

to `"na.exclude"`

with `options`

),
the fitted values (or residuals) corresponding to excluded
observations are returned as `NA`

; otherwise, they are omitted.

`model.frame.mvr`

returns the model frame; i.e. a data frame with
all variables neccessary to generate the model matrix. See
`model.frame`

for details.

`model.matrix.mvr`

returns the (possibly coded) matrix used as
\(X\) in the fitting. See `model.matrix`

for
details.

`prednames`

, `respnames`

and `compnames`

extract the
names of the \(X\) variables, responses and components,
respectively. With `intercept = TRUE`

in `prednames`

,
the name of the intercept variable (i.e. `"(Intercept)"`

) is
returned as well. `compnames`

can also extract component names
from score and loading matrices. If `explvar = TRUE`

in `compnames`

, the
explained variance for each component (if available) is appended to the component
names. For optimal formatting of the explained variances when not all
components are to be used, one should specify the desired components
with the argument `comps`

.

`explvar`

extracts the amount of \(X\) variance (in per cent)
explained by each component in the model. It can also handle
score and loading matrices returned by `scores`

and `loadings`

.

##### Value

`coef.mvr`

returns an array of regression coefficients.

`fitted.mvr`

returns an array with fitted values.

`residuals.mvr`

returns an array with residuals.

`model.frame.mvr`

returns a data frame.

`model.matrix.mvr`

returns the \(X\) matrix.

`prednames`

, `respnames`

and `compnames`

return a
character vector with the corresponding names.

`explvar`

returns a numeric vector with the explained variances,
or `NULL`

if not available.

##### See Also

`mvr`

, `coef`

, `fitted`

,
`residuals`

, `model.frame`

,
`model.matrix`

, `na.omit`

##### Examples

```
# NOT RUN {
data(yarn)
mod <- pcr(density ~ NIR, data = yarn[yarn$train,], ncomp = 5)
B <- coef(mod, ncomp = 3, intercept = TRUE)
## A manual predict method:
stopifnot(drop(B[1,,] + yarn$NIR[!yarn$train,] %*% B[-1,,]) ==
drop(predict(mod, ncomp = 3, newdata = yarn[!yarn$train,])))
## Note the difference in formatting:
mod2 <- pcr(density ~ NIR, data = yarn[yarn$train,])
compnames(mod2, explvar = TRUE)[1:3]
compnames(mod2, comps = 1:3, explvar = TRUE)
# }
```

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