Create Basis Set for Functional Data of fdata class
Source:R/create.fdata.basis.R
create.fdata.basis.Rd
Compute basis for functional data.
Usage
create.fdata.basis(
fdataobj,
l = 1:5,
maxl = max(l),
type.basis = "bspline",
rangeval = fdataobj$rangeval,
class.out = "fd"
)
create.pc.basis(
fdataobj,
l = 1:5,
norm = TRUE,
basis = NULL,
lambda = 0,
P = c(0, 0, 1),
...
)
create.pls.basis(
fdataobj,
y,
l = 1:5,
norm = TRUE,
lambda = 0,
P = c(0, 0, 1),
...
)
create.raw.fdata(fdataobj, l = 1:nrow(fdataobj))
Arguments
- fdataobj
fdata
class object.- l
Vector of basis index.
- maxl
maximum number of basis
- type.basis
Type of basis (see create.basis function).
- rangeval
A vector of length 2 giving the lower and upper limits of the range of permissible values for the function argument.
- class.out
=="fd" basisfd class, =="fdata" fdata class.
- norm
If
TRUE
the norm of eigenvectorsbasis
is 1.- basis
"fd" basis object.
- lambda
Amount of penalization. Default value is 0, i.e. no penalization is used.
- P
If P is a vector: coefficients to define the penalty matrix object. By default P=c(0,0,1) penalize the second derivative (curvature) or acceleration. If P is a matrix: the penalty matrix object.
- ...
Further arguments passed to or from other methods.
- y
Vector of response (scalar).
Value
basis
: basis object.x
: ifTRUE
the value of the rotated data (the centred data multiplied by the basis matrix) is returned.mean
: functional mean offdataobj
.df
: degree of freedom.type
: type of basis.
References
Ramsay, James O. and Silverman, Bernard W. (2006), Functional Data Analysis, 2nd ed., Springer, New York.
N. Kraemer, A.-L. Boulsteix, and G. Tutz (2008). Penalized Partial Least Squares with Applications to B-Spline Transformations and Functional Data. Chemometrics and Intelligent Laboratory Systems, 94, 60 - 69. doi:10.1016/j.chemolab.2008.06.009
See also
See Also as create.basis and fdata2pc
.
Author
Manuel Febrero-Bande, Manuel Oviedo de la Fuente manuel.oviedo@udc.es
Examples
if (FALSE) { # \dontrun{
data(tecator)
basis.pc<-create.pc.basis(tecator$absorp.fdata,c(1,4,5))
plot(basis.pc$basis,col=1)
summary(basis.pc)
basis.pls<-create.pls.basis(tecator$absorp.fdata,y=tecator$y[,1],c(1,4,5))
summary(basis.pls)
plot(basis.pls$basis,col=2)
summary(basis.pls)
basis.fd<-create.fdata.basis(tecator$absorp.fdata,c(1,4,5),
type.basis="fourier")
plot(basis.pc$basis)
basis.fdata<-create.fdata.basis(tecator$absorp.fdata,c(1,4,5),
type.basis="fourier",class.out="fdata")
plot(basis.fd,col=2,lty=1)
lines(basis.fdata,col=3,lty=1)
} # }