norder: Order of a B-spline

View source: R/norder.R

norderR Documentation

Order of a B-spline

Description

norder = number of basis functions minus the number of interior knots.

Usage

norder(x, ...)
## S3 method for class 'fd'
norder(x, ...)
## S3 method for class 'basisfd'
norder(x, ...)
## Default S3 method:
norder(x, ...)

#norder.bspline(x, ...)

#NOTE:  The following is required by CRAN rules that
# function names like "as.numeric" must follow the documentation
# standards for S3 generics, even when they are not.
# Please ignore the following line:
## S3 method for class 'bspline'
norder(x, ...)

Arguments

x

Either a basisfd object or an object containing a basisfd object as a component.

...

optional arguments currently unused

Details

norder throws an error of basisfd[['type']] != 'bspline'.

Value

An integer giving the order of the B-spline.

Author(s)

Spencer Graves

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

create.bspline.basis

Examples

  bspl1.1 <- create.bspline.basis(norder=1, breaks=0:1)

  stopifnot(norder(bspl1.1)==1)

  stopifnot(norder(fd(0, basisobj=bspl1.1))==1)

  stopifnot(norder(fd(rep(0,4)))==4)

  stopifnot(norder(list(fd(rep(0,4))))==4)
  ## Not run: 
    norder(list(list(fd(rep(0,4)))))
    Error in norder.default(list(list(fd(rep(0, 4))))) :
    input is not a 'basisfd' object and does not have a 'basisfd'
    component.
  
## End(Not run)

  stopifnot(norder(create.bspline.basis(norder=1, breaks=c(0,.5, 1))) == 1)

  stopifnot(norder(create.bspline.basis(norder=2, breaks=c(0,.5, 1))) == 2)

  # Default B-spline basis:  Cubic spline:  degree 3, order 4,
  # 21 breaks, 19 interior knots.
  stopifnot(norder(create.bspline.basis()) == 4)

  # these five lines throw an error of for a nocran check 
  # if (!CRAN()) {
  #   norder(create.fourier.basis(c(0,12) ))
    # Error in norder.bspline(x) :
    # object x is of type = fourier;  'norder' is only defined for type = 'bspline'
  # }


fda documentation built on Sept. 30, 2024, 9:19 a.m.