Learn R Programming

fda (version 2.4.0)

basisfd: Define a Functional Basis Object

Description

This is the constructor function for objects of the basisfd class. Each function that sets up an object of this class must call this function. This includes functions create.bspline.basis, create.constant.basis, create.fourier.basis, and so forth that set up basis objects of a specific type. Ordinarily, user of the functional data analysis software will not need to call this function directly, but these notes are valuable to understanding what the "slots" or "members" of the basisfd class are.

Usage

basisfd(type, rangeval, nbasis, params,
        dropind=vector('list', 0),
        quadvals=vector('list', 0),
        values=vector("list", 0),
        basisvalues=vector('list', 0))

Arguments

type
a character string indicating the type of basis. Currently, there are eight possible types:

  1. Bspline, bspline, Bsp, bsp
{b-spline basis} const, con, constant{constant basis} exp, expon, exponen, exp

Value

  • an object of class basisfd, being a list with the following components:
  • typetype of basis
  • rangevalacceptable range for the argument
  • nbasisnumber of bases
  • paramsa vector of parameter values defining the basis.
  • dropindinput argument dropind
  • quadvalsquadrature values ...
  • valuesa list of basis functions and derivatives
  • basisvaluesinput argument basisvalues

item

  • rangeval
  • nbasis
  • params
  • dropind
  • quadvals
  • values
  • basisvalues

code

getbasismatrix

Details

Previous versions of the 'fda' software used the name basis for this class, and the code in Matlab still does. However, this class name was already used elsewhere in the S languages, and there was a potential for a clash that might produce mysterious and perhaps disastrous consequences.

To check that an object is of this class, use function is.basis.

It is comparatively simple to add new basis types. The code in the following functions needs to be estended to allow for the new type: basisfd, getbasismatrix and getbasispenalty. In addition, a new "create" function should be written for the new type, as well as functions analogous to fourier and fourierpen for evaluating basis functions for basis penalty matrices.

The "create" function names are rather long, and users who mind all that typing might be advised to modify these to versions with shorter names, such as "splbas", "conbas", and etc. However, a principle of good programming practice is to keep the code readable, preferably by somebody other than the programmer.

Normally only developers of new basis types will actually need to use this function, so no examples are provided.

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. (2006), 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

is.basis, is.eqbasis, plot.basisfd, getbasismatrix, getbasispenalty, create.bspline.basis, create.constant.basis, create.exponential.basis, create.fourier.basis, create.monomial.basis, create.polygonal.basis, create.polynomial.basis, create.power.basis