Learn R Programming

fda (version 2.4.0)

cca.fd: Functional Canonical Correlation Analysis

Description

Carry out a functional canonical correlation analysis with regularization or roughness penalties on the estimated canonical variables.

Usage

cca.fd(fdobj1, fdobj2=fdobj1, ncan = 2,
       ccafdPar1=fdPar(basisobj1, 2, 1e-10),
       ccafdPar2=ccafdPar1, centerfns=TRUE)

Arguments

fdobj1
a functional data object.
fdobj2
a functional data object. By default this is fdobj1, in which case the first argument must be a bivariate funnctional data object.
ncan
the number of canonical variables and weight functions to be computed. The default is 2.
ccafdPar1
a functional parameter object defining the first set of canonical weight functions. The object may contain specifications for a roughness penalty. The default is defined using the same basis as that used for fdobj1 with a slight penalty on i
ccafdPar2
a functional parameter object defining the second set of canonical weight functions. The object may contain specifications for a roughness penalty. The default is ccafdParobj1.
centerfns
if TRUE, the functions are centered prior to analysis. This is the default.

Value

  • an object of class cca.fd with the 5 slots:
  • ccwtfd1a functional data object for the first canonical variate weight function
  • ccwtfd2a functional data object for the second canonical variate weight function
  • cancorra vector of canonical correlations
  • ccavar1a matrix of scores on the first canonical variable.
  • ccavar2a matrix of scores on the second canonical variable.

See Also

plot.cca.fd, varmx.cca.fd, pca.fd

Examples

Run this code
#  Canonical correlation analysis of knee-hip curves

gaittime  <- (1:20)/21
gaitrange <- c(0,1)
gaitbasis <- create.fourier.basis(gaitrange,21)
lambda    <- 10^(-11.5)
harmaccelLfd <- vec2Lfd(c(0, 0, (2*pi)^2, 0))

gaitfdPar <- fdPar(gaitbasis, harmaccelLfd, lambda)
gaitfd <- smooth.basis(gaittime, gait, gaitfdPar)$fd

ccafdPar <- fdPar(gaitfd, harmaccelLfd, 1e-8)
ccafd0    <- cca.fd(gaitfd[,1], gaitfd[,2], ncan=3, ccafdPar, ccafdPar)
#  display the canonical correlations
round(ccafd0$ccacorr[1:6],3)
#  compute a VARIMAX rotation of the canonical variables
ccafd <- varmx.cca.fd(ccafd0)
#  plot the canonical weight functions
plot.cca.fd(ccafd)

Run the code above in your browser using DataLab