eval.fd {fda} | R Documentation |
Evaluate a functional data object at specified argument values, or evaluate a derivative or the result of applying a linear differential operator to the functional object.
eval.fd(evalarg, fdobj, Lfdobj=0) ## S3 method for class 'fd': predict(object, newdata=NULL, Lfdobj=0, ...) ## S3 method for class 'fdSmooth': predict(object, newdata=NULL, Lfdobj=0, ...) ## S3 method for class 'fdSmooth': fitted(object, ...) ## S3 method for class 'fdSmooth': residuals(object, ...)
evalarg, newdata |
a vector of argument values at which the functional data object is to be evaluated. |
fdobj |
a functional data object to be evaluated. |
Lfdobj |
either a nonnegative integer or a linear differential operator object. If present, the derivative or the value of applying the operator is evaluated rather than the functions themselves. |
object |
an object of class fd
|
... |
optional arguments for predict , not currently used
|
eval.fd
evaluates Lfdobj
of fdobj
at
evalarg
. predict.fd
is a convenience wrapper for
eval.fd
. If newdata
is NULL and
fdobj[['basis']][['type']]
is bspline
, newdata
=
unique(knots(fdojb,interior=FALSE))
; otherwise, newdata
= fdobj[['basis']][['rangeval']]
.
predict.fdSmooth
, fitted.fdSmooth
and
residuals.fdSmooth
are other wrapper for eval.fd
.
an array of 2 or 3 dimensions containing the function
values. The first dimension corresponds to the argument values in
evalarg
,
the second to replications, and the third if present to functions.
Soren Hosgaard wrote an initial version of predict.fdSmooth
,
fitted.fdSmooth
, and residuals.fdSmooth
.
getbasismatrix
,
eval.bifd
,
eval.penalty
,
eval.monfd
,
eval.posfd
## ## eval.fd ## # set up the fourier basis daybasis <- create.fourier.basis(c(0, 365), nbasis=65) # Make temperature fd object # Temperature data are in 12 by 365 matrix tempav # See analyses of weather data. # Set up sampling points at mid days # Convert the data to a functional data object tempfd <- data2fd(CanadianWeather$dailyAv[,,"Temperature.C"], day.5, daybasis) # set up the harmonic acceleration operator Lbasis <- create.constant.basis(c(0, 365)) Lcoef <- matrix(c(0,(2*pi/365)^2,0),1,3) bfdobj <- fd(Lcoef,Lbasis) bwtlist <- fd2list(bfdobj) harmaccelLfd <- Lfd(3, bwtlist) # evaluate the value of the harmonic acceleration # operator at the sampling points Ltempmat <- eval.fd(day.5, tempfd, harmaccelLfd) # Plot the values of this operator matplot(day.5, Ltempmat, type="l") ## ## predict.fd ## predict(tempfd) # end points only at 35 locations str(predict(tempfd, day.5)) # 365 x 35 matrix str(predict(tempfd, day.5, harmaccelLfd)) # cublic splie with knots at 0, .5, 1 bspl3 <- create.bspline.basis(c(0, .5, 1)) plot(bspl3) # 5 bases fd.bspl3 <- fd(c(0, 0, 1, 0, 0), bspl3) pred3 <- predict(fd.bspl3) pred3. <- matrix(c(0, .5, 0), 3) dimnames(pred3.) <- list(NULL, 'reps 1') all.equal(pred3, pred3.) pred.2 <- predict(fd.bspl3, c(.2, .8)) pred.2. <- matrix(.176, 2, 1) dimnames(pred.2.) <- list(NULL, 'reps 1') all.equal(pred.2, pred.2.) ## ## predict.fdSmooth ## lipSm9 <- smooth.basisPar(liptime, lip, lambda=1e-9) plot(lipSm9) pred.lipSm9 <- predict(lipSm9) all.equal(pred.lipSm9, fitted(lipSm9)) resid.lipSm9 <- resid(lipSm9) all.equal(resid.lipSm9, residuals(lipSm9))