Description Usage Arguments Value See Also Examples
Smooth data already converted to a functional data object, fdobj,
using criteria consolidated in a functional data parameter object,
fdParobj. For example, data may have been converted to a functional
data object using function Data2fd
using a fairly large set of
basis functions. This 'fdobj' is then smoothed as specified in
'fdParobj'.
1 | smooth.fd(fdobj, fdParobj)
|
fdobj |
a functional data object to be smoothed. |
fdParobj |
a functional parameter object. This object is defined by a roughness
penalty in slot |
a functional data object.
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 | # Shows the effects of two levels of smoothing
# where the size of the third derivative is penalized.
# The null space contains quadratic functions.
x <- seq(-1,1,0.02)
y <- x + 3*exp(-6*x^2) + rnorm(rep(1,101))*0.2
# set up a saturated B-spline basis
basisobj <- create.bspline.basis(c(-1,1),81)
# convert to a functional data object that interpolates the data.
result <- smooth.basis(x, y, basisobj)
yfd <- result$fd
# set up a functional parameter object with smoothing
# parameter 1e-6 and a penalty on the 3rd derivative.
yfdPar <- fdPar(yfd, 2, 1e-6)
yfd1 <- smooth.fd(yfd, yfdPar)
## Not run:
# FIXME: using 3rd derivative here gave error?????
yfdPar3 <- fdPar(yfd, 3, 1e-6)
yfd1.3 <- smooth.fd(yfd, yfdPar3)
#Error in bsplinepen(basisobj, Lfdobj, rng) :
# Penalty matrix cannot be evaluated
# for derivative of order 3 for B-splines of order 4
## End(Not run)
# set up a functional parameter object with smoothing
# parameter 1 and a penalty on the 3rd derivative.
yfdPar <- fdPar(yfd, 2, 1)
yfd2 <- smooth.fd(yfd, yfdPar)
# plot the data and smooth
plot(x,y) # plot the data
lines(yfd1, lty=1) # add moderately penalized smooth
lines(yfd2, lty=3) # add heavily penalized smooth
legend(-1,3,c("0.000001","1"),lty=c(1,3))
# plot the data and smoothing using function plotfit.fd
plotfit.fd(y, x, yfd1) # plot data and smooth
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.