# eval.posfd: Evaluate a Positive Functional Data Object In fda: Functional Data Analysis

## Description

Evaluate a positive functional data object at specified argument values, or evaluate a derivative of the functional object.

## Usage

 ```1 2 3 4 5 6 7``` ```eval.posfd(evalarg, Wfdobj, Lfdobj=int2Lfd(0)) ## S3 method for class 'posfd' predict(object, newdata=NULL, Lfdobj=0, ...) ## S3 method for class 'posfd' fitted(object, ...) ## S3 method for class 'posfd' residuals(object, ...) ```

## Arguments

 `evalarg, newdata` a vector of argument values at which the functional data object is to be evaluated. `Wfdobj` a functional data object that defines the positive function to be evaluated. Only univariate functions are permitted. `Lfdobj` a nonnegative integer specifying a derivative to be evaluated. At this time of writing, permissible derivative values are 0, 1 or 2. A linear differential operator is not allowed. `object` an object of class `posfd` that defines the positive function to be evaluated. Only univariate functions are permitted. `...` optional arguments required by `predict`; not currently used.

## Details

A positive function data object \$h(t)\$ is defined by \$h(t) =[exp Wfd](t)\$. The function `Wfdobj` that defines the positive function is usually estimated by positive smoothing function `smooth.pos`

## Value

a matrix containing the positive function values. The first dimension corresponds to the argument values in `evalarg` and the second to replications.

`eval.fd`, `eval.monfd`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20``` ```harmaccelLfd <- vec2Lfd(c(0,(2*pi/365)^2,0), c(0, 365)) smallbasis <- create.fourier.basis(c(0, 365), 65) index <- (1:35)[CanadianWeather\$place == "Vancouver"] VanPrec <- CanadianWeather\$dailyAv[,index, "Precipitation.mm"] lambda <- 1e4 dayfdPar <- fdPar(smallbasis, harmaccelLfd, lambda) VanPrecPos <- smooth.pos(day.5, VanPrec, dayfdPar) # compute fitted values using eval.posfd() VanPrecPosFit1 <- eval.posfd(day.5, VanPrecPos\$Wfdobj) # compute fitted values using predict() VanPrecPosFit2 <- predict(VanPrecPos, day.5) all.equal(VanPrecPosFit1, VanPrecPosFit2) # compute fitted values using fitted() VanPrecPosFit3 <- fitted(VanPrecPos) # compute residuals VanPrecRes <- resid(VanPrecPos) all.equal(VanPrecRes, VanPrecPos\$y-VanPrecPosFit3) ```