Computes the derivative of functional data.
If method ="bspline", "exponential", "fourier", "monomial" or "polynomial".
fdata.deriv
function creates a basis to represent the functional data. The functional data are converted to classfd
using the Data2fd function and the basis indicated in themethod
. Finally, the function calculates the derivative of ordernderiv
of curves usingderiv.fd
function.If
method
="fmm", "periodic", "natural" or "monoH.FC" is usedsplinefun
function.If
method
="diff", raw derivation is applied. Not recommended to use this method when the values are not equally spaced.
Usage
fdata.deriv(
fdataobj,
nderiv = 1,
method = "bspline",
class.out = "fdata",
nbasis = NULL,
...
)
Arguments
- fdataobj
fdata
class object.- nderiv
Order of derivation, by defalult
nderiv
=1.- method
Type of derivative method, for more information see details.
- class.out
Class of functional data returned:
fdata
orfd
class.- nbasis
Number of Basis for
fdatataobj\$DATA
. It is only used if method ="bspline", "exponential", "fourier", "monomial" or "polynomial"- ...
Further arguments passed to or from other methods.
Value
Returns the derivative of functional data of fd
class if
class.out
="fd" or fdata
class if class.out
="fdata".
Examples
data(tecator)
absorp=tecator$absorp.fdata
tecator.fd1=fdata2fd(absorp)
tecator.fd2=fdata2fd(absorp,"fourier",9)
tecator.fd3=fdata2fd(absorp,"fourier",nbasis=9,nderiv=1)
#tecator.fd1;tecator.fd2;tecator.fd3
tecator.fdata1=fdata(tecator.fd1)
tecator.fdata2=fdata(tecator.fd2)
tecator.fdata3=fdata(tecator.fd3)
tecator.fdata4=fdata.deriv(absorp,nderiv=1,method="bspline",
class.out='fdata',nbasis=9)
tecator.fd4=fdata.deriv(tecator.fd3,nderiv=0,class.out='fd',nbasis=9)
plot(tecator.fdata4)
plot(fdata.deriv(absorp,nderiv=1,method="bspline",class.out='fd',nbasis=11))
#> [1] "done"