eval.posfd.Rd
\name{eval.posfd}
\alias{eval.posfd}
\alias{predict.posfd}
\alias{fitted.posfd}
\alias{residuals.posfd}
\title{
Evaluate a Positive Functional Data Object
}
\description{
Evaluate a positive functional data object at specified argument
values, or evaluate a derivative of the functional object.
}
\usage{
eval.posfd(evalarg, Wfdobj, Lfdobj=int2Lfd(0))
\method{predict}{posfd}(object, newdata=NULL, Lfdobj=0, ...)
\method{fitted}{posfd}(object, ...)
\method{residuals}{posfd}(object, ...)
}
\arguments{
\item{evalarg, newdata}{
a vector of argument values at which the functional data object is
to be evaluated.
}
\item{Wfdobj}{
a functional data object that defines the positive function to be
evaluated. Only univariate functions are permitted.
}
\item{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.
}
\item{object}{
an object of class \code{posfd} that defines the positive function
to be evaluated. Only univariate functions are permitted.
}
\item{\dots}{
optional arguments required by \code{predict}; not currently used.
}
}
\details{
A positive function data object $h(t)$ is defined by $h(t) =[exp
Wfd](t)$. The function \code{Wfdobj} that defines the positive
function is usually estimated by positive smoothing function
\code{smooth.pos}
}
\value{
a matrix containing the positive function values. The first dimension
corresponds to the argument values in \code{evalarg} and the second to
replications.
}
\seealso{
\code{\link{eval.fd}},
\code{\link{eval.monfd}}
}
\examples{
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)
\dontshow{stopifnot(}
all.equal(VanPrecPosFit1, VanPrecPosFit2)
\dontshow{)}
# compute fitted values using fitted()
VanPrecPosFit3 <- fitted(VanPrecPos)
# compute residuals
VanPrecRes <- resid(VanPrecPos)
\dontshow{stopifnot(}
all.equal(VanPrecRes, VanPrecPos$y-VanPrecPosFit3)
\dontshow{)}
}
% docclass is function
\keyword{smooth}