fda.usc (version 2.0.1)

create.fdata.basis: Create Basis Set for Functional Data of fdata class

Description

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:ncol(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 eigenvectors basis 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

  • x if TRUE the value of the rotated data (the centred data multiplied by the rotation matrix) is returned

  • mean functional mean of fdataobj

  • 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. http://dx.doi.org/10.1016/j.chemolab.2008.06.009

See Also

See Also as create.basis and fdata2pc.

Examples

Run this code
# NOT RUN {
data(tecator)
basis.pc<-create.pc.basis(tecator$absorp.fdata,c(1,4,5))
plot(basis.pc$basis,col=1)
basis.pls<-create.pls.basis(tecator$absorp.fdata,y=tecator$y[,1],c(1,4,5))
lines(basis.pls$basis,col=2)

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)
# }

Run the code above in your browser using DataCamp Workspace