Basis constructor for FPC terms

```
# S3 method for fpc.smooth.spec
smooth.construct(object, data, knots)
```

object

a `fpc.smooth.spec`

object, usually generated by a
term `s(x, bs="fpc")`

; see Details.

data

a list containing the data (including any `by`

variable)
required by this term, with names corresponding to `object$term`

(and `object$by`

). Only the first element of this list is used.

knots

not used, but required by the generic `smooth.construct`

.

An object of class `"fpc.smooth"`

. In addtional to the elements
listed in `smooth.construct`

, the object will contain

the smooth that is fit in order to generate the basis matrix
over `object$term`

the matrix of principal components

`object`

must contain an `xt`

element. This is a list that can
contain the following elements:

- X
(required) matrix of functional predictors

- method
(required) the method of finding principal components; options include

`"svd"`

(unconstrained),`"fpca.sc"`

,`"fpca.face"`

, or`"fpca.ssvd"`

- npc
(optional) the number of PC's to retain

- pve
(only needed if

`npc`

not supplied) the percent variance explained used to determine`npc`

- penalize
(required) if

`FALSE`

, the smoothing parameter is set to 0- bs
the basis class used to pre-smooth

`X`

; default is`"ps"`

Any additional options for the pre-smoothing basis (e.g. `k`

, `m`

,
etc.) can be supplied in the corresponding elements of `object`

.
See `s`

for a full list of options.

Reiss, P. T., and Ogden, R. T. (2007). Functional principal component
regression and functional partial least squares. *Journal of the
American Statistical Association*, 102, 984-996.