FPCA.FEM  R Documentation 
This function implements a smooth functional principal component analysis over a planar mesh, a smooth manifold or a volume.
FPCA.FEM(locations = NULL, datamatrix, FEMbasis, lambda, nPC = 1, validation = NULL, NFolds = 5,GCVmethod = "Stochastic", nrealizations = 100, search = "tree", bary.locations = NULL)
locations 
A #observationsby2 matrix in the 2D case and #observationsby3 matrix in the 2.5D and 3D case, where
each row specifies the spatial coordinates 
datamatrix 
A matrix of dimensions #samplesby#locations with the observed data values over the domain
for each sample. The datamatrix needs to have zero mean.
If the 
FEMbasis 
A 
lambda 
A scalar or vector of smoothing parameters. 
nPC 
An integer specifying the number of Principal Components to compute. 
validation 
A string specifying the type of validation to perform. If 
NFolds 
This parameter is used only in case 
GCVmethod 
This parameter is considered only when 
nrealizations 
The number of realizations to be used in the stochastic algorithm for the estimation of GCV. 
search 
a flag to decide the search algorithm type (tree or naive or walking search algorithm). 
bary.locations 
A list with three vectors:

A list with the following variables:
loadings.FEM
A FEM
object that represents the L^2normalized functional loadings for each
Principal Component computed.
scores
A #samplesby#PrincipalComponents matrix that represents the unnormalized scores or PC vectors.
lambda
A vector of length #PrincipalComponents with the values of the smoothing parameter lambda
chosen for that Principal Component.
variance_explained
A vector of length #PrincipalComponents where each value represent the variance explained by that component.
cumsum_percentage
A vector of length #PrincipalComponents containing the cumulative percentage of the variance explained by the first components.
bary.locations
A barycenter information of the given locations if the locations are not mesh nodes.
Lila, E., Aston, J.A.D., Sangalli, L.M., 2016a. Smooth Principal Component Analysis over twodimensional manifolds with an application to neuroimaging. Ann. Appl. Stat., 10(4), pp. 18541879.
library(fdaPDE) ## Load the hub data data(hub2.5D) hub2.5D.nodes = hub2.5D$hub2.5D.nodes hub2.5D.triangles = hub2.5D$hub2.5D.triangles mesh = create.mesh.2.5D(nodes = hub2.5D.nodes, triangles = hub2.5D.triangles) ## Create the Finite Element basis FEMbasis = create.FEM.basis(mesh) ## Create a datamatrix datamatrix = NULL for(ii in 1:50){ a1 = rnorm(1, mean = 1, sd = 1) a2 = rnorm(1, mean = 1, sd = 1) a3 = rnorm(1, mean = 1, sd = 1) func_evaluation = numeric(nrow(mesh$nodes)) for (i in 0:(nrow(mesh$nodes)1)){ func_evaluation[i+1] = a1* sin(2*pi*mesh$nodes[i+1,1]) + a2* sin(2*pi*mesh$nodes[i+1,2]) + a3*sin(2*pi*mesh$nodes[i+1,3]) + 1 } data = func_evaluation + rnorm(nrow(mesh$nodes), mean = 0, sd = 0.5) datamatrix = rbind(datamatrix, data) } ## Compute the mean of the datamatrix and subtract it to the data data_bar = colMeans(datamatrix) data_demean = matrix(rep(data_bar,50), nrow=50, byrow=TRUE) datamatrix_demeaned = datamatrix  data_demean ## Set the smoothing parameter lambda lambda = 0.00375 ## Estimate the first 2 Principal Components FPCA_solution = FPCA.FEM(datamatrix = datamatrix_demeaned, FEMbasis = FEMbasis, lambda = lambda, nPC = 2) ## Plot the functional loadings of the estimated Principal Components plot(FPCA_solution$loadings.FEM)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.