This S3 method implements the cross-sectional mean of a
multivariate functional dataset stored in a mfData object, i.e. the
mean computed point-by-point along the grid over which the dataset is
defined.
# S3 method for mfData
mean(x, ...)the multivariate functional dataset whose cross-sectional mean must
be computed, in form of mfData object.
possible additional parameters. This argument is kept for
compatibility with the S3 definition of mean, but it is not
actually used.
The function returns a mfData object with one observation
defined on the same grid as the argument x's representing the
desired cross-sectional mean.
N = 1e2
L = 3
P = 1e2
grid = seq( 0, 1, length.out = P )
# Generating a gaussian functional sample with desired mean
target_mean = sin( 2 * pi * grid )
C = exp_cov_function( grid, alpha = 0.2, beta = 0.2 )
# Independent components
correlations = c( 0, 0, 0 )
mfD = mfData( grid,
generate_gauss_mfdata( N, L,
correlations = correlations,
centerline = matrix( target_mean,
nrow = 3,
ncol = P,
byrow = TRUE ),
listCov = list( C, C, C ) )
)
# Graphical representation of the mean
oldpar <- par(mfrow = c(1, 1))
par(mfrow = c(1, L))
for(iL in 1:L)
{
plot(mfD$fDList[[iL]])
plot(
mean(mfD)$fDList[[iL]],
col = 'black',
lwd = 2,
lty = 2,
add = TRUE
)
}
par(oldpar)