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.basisfd(type, rangeval, nbasis, params,
dropind=vector('list', 0),
quadvals=vector('list', 0),
values=vector("list", 0),
basisvalues=vector('list', 0))
basisfd
, being a list with the following
components:getbasismatrix
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.
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.
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