Description Usage Arguments Value See Also Examples
View source: R/getbasismatrix.R
Evaluate a set of basis functions or their derivatives at a set of argument values.
1 | getbasismatrix(evalarg, basisobj, nderiv=0, returnMatrix=FALSE)
|
evalarg |
a vector of arguments values. |
basisobj |
a basis object. |
nderiv |
a nonnegative integer specifying the derivative to be evaluated. |
returnMatrix |
logical: If TRUE, a two-dimensional is returned using a special class from the Matrix package. |
a matrix of basis function or derivative values. Rows correspond to argument values and columns to basis functions.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | ##
## Minimal example: a B-spline of order 1, i.e., a step function
## with 0 interior knots:
##
bspl1.1 <- create.bspline.basis(norder=1, breaks=0:1)
m <- getbasismatrix(seq(0, 1, .2), bspl1.1)
# check
m. <- matrix(rep(1, 6), 6,
dimnames=list(NULL, 'bspl') )
all.equal(m, m.)
##
## Use library(Matrix)
##
bspl2.2 <- create.bspline.basis(norder=2, breaks=seq(0, 1, .5))
M2 <- getbasismatrix(seq(0, 1, .2), bspl2.2, returnMatrix=TRUE)
M2. <- Matrix(c(1,.6,.2,0,0,0, 0,.4,.8,.8,.4,0, 0,0,0,.2,.6,1), 6)
(M2-M2.)
all(abs(M2-M2.)<1e-15)
##
## Date and POSIXct
##
# Date
July4.1776 <- as.Date('1776-07-04')
Apr30.1789 <- as.Date('1789-04-30')
AmRev <- c(July4.1776, Apr30.1789)
BspRevolution <- create.bspline.basis(AmRev)
AmRevYears <- seq(July4.1776, Apr30.1789, length.out=14)
AmRevMatrix <- getbasismatrix(AmRevYears, BspRevolution)
matplot(AmRevYears, AmRevMatrix, type='b')
# Image is correct, but
# matplot does not recogize the Date class of x
# POSIXct
AmRev.ct <- as.POSIXct1970(c('1776-07-04', '1789-04-30'))
BspRev.ct <- create.bspline.basis(AmRev.ct)
AmRevYrs.ct <- seq(AmRev.ct[1], AmRev.ct[2], length.out=14)
AmRevMat.ct <- getbasismatrix(AmRevYrs.ct, BspRev.ct)
matplot(AmRevYrs.ct, AmRevMat.ct, type='b')
# Image is correct, but
# matplot does not recogize the Date class of x
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.