Learn R Programming

fda (version 6.2.0)

coef.fd: Extract functional coefficients

Description

Obtain the coefficients component from a functional object (functional data, class fd, functional parameter, class fdPar, a functional smooth, class fdSmooth, or a Taylor spline representation, class Taylor.

Usage

# S3 method for fd
coef(object, ...)
# S3 method for fdPar
coef(object, ...)
# S3 method for fdSmooth
coef(object, ...)
# S3 method for fd
coefficients(object, ...)
# S3 method for fdPar
coefficients(object, ...)
# S3 method for fdSmooth
coefficients(object, ...)

Value

A numeric vector or array of the coefficients.

Arguments

object

An object whose functional coefficients are desired

...

other arguments

Details

Functional representations are evaluated by multiplying a basis function matrix times a coefficient vector, matrix or 3-dimensional array. (The basis function matrix contains the basis functions as columns evaluated at the evalarg values as rows.)

References

Ramsay, James O., Hooker, Giles, and Graves, Spencer (2009), Functional data analysis with R and Matlab, Springer, New York.

Ramsay, James O., and Silverman, Bernard W. (2005), Functional Data Analysis, 2nd ed., Springer, New York.

Ramsay, James O., and Silverman, Bernard W. (2002), Applied Functional Data Analysis, Springer, New York.

See Also

coef fd fdPar smooth.basisPar smooth.basis

Examples

Run this code
##
## coef.fd
##
bspl1.1 <- create.bspline.basis(norder=1, breaks=0:1)
fd.bspl1.1 <- fd(0, basisobj=bspl1.1)
coef(fd.bspl1.1)
# \dontshow{
stopifnot(all.equal(coef(fd.bspl1.1), coefficients(fd.bspl1.1)))
# }

##
## coef.basisPar 
##
rangeval <- c(-3,3)
#  set up some standard normal data
x <- rnorm(50)
#  make sure values within the range
x[x < -3] <- -2.99
x[x >  3] <-  2.99
#  set up basis for W(x)
basisobj <- create.bspline.basis(rangeval, 11)
#  set up initial value for Wfdobj
Wfd0 <- fd(matrix(0,11,1), basisobj)
WfdParobj <- fdPar(Wfd0)

coef(WfdParobj)
# \dontshow{
stopifnot(all.equal(coef(WfdParobj), coefficients(WfdParobj)))
# }

##
## coef.fdSmooth
##

girlGrowthSm <- with(growth, smooth.basisPar(argvals=age, y=hgtf, 
                                             lambda=0.1)$fd)
coef(girlGrowthSm)
stopifnot(
all.equal(coef(girlGrowthSm), coefficients(girlGrowthSm)) 
)

Run the code above in your browser using DataLab