| Version: | 0.2 | 
| Date: | 2022-01-28 | 
| Title: | A Canonical Correlation Analysis with Inferential Guaranties | 
| Author: | Livio Finos | 
| Maintainer: | livio finos <livio.finos@unipd.it> | 
| Description: | It performs Canonical Correlation Analysis and provides inferential guaranties on the correlation components. The p-values are computed following the resampling method developed in Winkler, A. M., Renaud, O., Smith, S. M., & Nichols, T. E. (2020). Permutation inference for canonical correlation analysis. NeuroImage, <doi:10.1016/j.neuroimage.2020.117065>. Furthermore, it provides plotting tools to visualize the results. | 
| Encoding: | UTF-8 | 
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] | 
| RoxygenNote: | 7.1.2 | 
| Imports: | methods, stats, ggplot2, plyr | 
| NeedsCompilation: | no | 
| Packaged: | 2022-01-28 07:56:02 UTC; livio | 
| Repository: | CRAN | 
| Date/Publication: | 2022-01-28 08:10:02 UTC | 
A Canonical Correlation Analysis with Inferential Guaranties
Description
It performs Canonical Correlation Analysis and provides inferential guaranties on the correlation components. The p-values are computed following the resampling method developed in Winkler, A. M., Renaud, O., Smith, S. M., & Nichols, T. E. (2020). Permutation inference for canonical correlation analysis. NeuroImage, <doi:10.1016/j.neuroimage.2020.117065>. Furthermore, it provides plotting tools to visualize the results.
Author(s)
Livio Finos
Examples
set.seed(1)
X=matrix(rnorm(500),100,5)
Y=matrix(rnorm(700),100,7)
Z=matrix(rnorm(200),100,2)
mod=cc(X,Y,Z)
mod
ccbiplot(mod)
mod=cc_inference(mod, B = 100, numb_cc = 3)
mod
Methods for acca objects
Description
Methods for acca objects. 
The following are methods to extract and manipulate relevant information from
a acca object.
Usage
## S3 method for class 'acca'
print(x, ...)
## S3 method for class 'acca'
summary(object, ...)
Arguments
| x | an  | 
| ... | additional arguments to be passed | 
| object | an  | 
cc
Description
Very similar cancor() of package stats, but 1) it allows for X and Y to be rank deficient, 2) it allows for categorical variables and 3) it allows for covariates, 4) more (see below).
Usage
cc(X, Y, Zx = NULL, Zy = Zx, numb_cc = NULL, fill.na = FALSE)
Arguments
| X | See  | 
| Y | See  | 
| Zx | ( | 
| Zy | ( | 
| numb_cc | number of (pairs of) canonical correlations to be extracted | 
| fill.na | replace  | 
Value
It returns an acca object. This object contains the same list as returned by cc, while it also contains prop_expl_var which is a list reporting the proportion of explained (total) variance of X and Y by each component (i.e. mode).
L=matrix(rnorm(10),10,1) X=matrix(rnorm(50),10,5) Y=matrix(rnorm(70),10,7) Z=matrix(rnorm(20),10,2)
X[,1]=X[,1]+2*L Y[,1]=Y[,1]+2*L mod=cc(X,Y,Z) mod
ccbiplot(mod)
cc_inference
Description
For each pairs of components, it computes p-values to test the null hypothesis of no correlation between components. The p-values are computed following the resampling method developed in Winkler, A. M., Renaud, O., Smith, S. M., & Nichols, T. E. (2020). Permutation inference for canonical correlation analysis. NeuroImage, 220, 117065. https://doi.org/10.1016/j.neuroimage.2020.117065.
Usage
cc_inference(
  mod,
  B = 100,
  alpha_max = 0.5,
  numb_cc = NULL,
  resamp_type = "sign-flip",
  light = FALSE
)
Arguments
| mod | an  | 
| B | ( | 
| alpha_max | stop if p-value > alpha_max ( | 
| numb_cc | stop after computing p-values for the first  | 
| resamp_type | 
 | 
| light | If  | 
Value
It returns an   acca object (see cc) with p-values for each pair of the numb_cc components.
Examples
set.seed(1)
X=matrix(rnorm(500),100,5)
Y=matrix(rnorm(700),100,7)
Z=matrix(rnorm(200),100,2)
mod=cc(X,Y,Z)
mod
ccbiplot(mod)
mod=cc_inference(mod, B = 100, numb_cc = 3)
mod
ccbiplot
Description
The function adapts the ggbiplot::ggbiplot() function to an acca-object.
Usage
ccbiplot(
  pcobj,
  choices = 1:2,
  scale = 1,
  pc.biplot = TRUE,
  obs.scale = 1 - scale,
  var.scale = scale,
  groups = NULL,
  shapes = NULL,
  ellipse = FALSE,
  ellipse.prob = 0.68,
  labels = NULL,
  labels.size = 3,
  alpha = 1,
  var.axes = TRUE,
  circle = FALSE,
  circle.prob = 0.69,
  varname.size = 3,
  varname.adjust = 1.5,
  varname.abbrev = FALSE,
  arrows.color = NULL,
  ...
)
Arguments
| pcobj | an object returned by acca:cc() | 
| choices | which PCs to plot | 
| scale | covariance biplot (scale = 1), form biplot (scale = 0). When scale = 1, the inner product between the variables approximates the covariance and the distance between the points approximates the Mahalanobis distance. | 
| pc.biplot | for compatibility with biplot.princomp() | 
| obs.scale | scale factor to apply to observations | 
| var.scale | scale factor to apply to variables | 
| groups | optional factor variable indicating the groups that the observations belong to. If provided the points will be colored according to groups | 
| shapes | which shapes to use when plotting observations | 
| ellipse | draw a normal data ellipse for each group? | 
| ellipse.prob | size of the ellipse in Normal probability | 
| labels | optional vector of labels for the observations | 
| labels.size | size of the text used for the labels | 
| alpha | alpha transparency value for the points (0 = transparent, 1 = opaque) | 
| var.axes | draw arrows for the variables? | 
| circle | draw a correlation circle? | 
| circle.prob | size of the circle in qchisq(circle.prob, df = 2) | 
| varname.size | size of the text for variable names | 
| varname.adjust | adjustment factor the placement of the variable names, >= 1 means farther from the arrow | 
| varname.abbrev | whether or not to abbreviate the variable names | 
| arrows.color | color of the arrows | 
| ... | not used yet | 
Value
It returns a ggplot object.