# maxCorProj: (Robust) maximum correlation via projections through the data... In ccaPP: (Robust) Canonical Correlation Analysis via Projection Pursuit

## Description

Compute the maximum correlation between two data sets via projection pursuit based on projections through the data points, with a focus on robust and nonparametric methods.

## Usage

 ```1 2 3``` ```maxCorProj(x, y, method = c("spearman", "kendall", "quadrant", "M", "pearson"), control = list(...), standardize = TRUE, useL1Median = TRUE, fallback = FALSE, ...) ```

## Arguments

 `x, y` each can be a numeric vector, matrix or data frame. `method` a character string specifying the correlation functional to maximize. Possible values are `"spearman"` for the Spearman correlation, `"kendall"` for the Kendall correlation, `"quadrant"` for the quadrant correlation, `"M"` for the correlation based on a bivariate M-estimator of location and scatter with a Huber loss function, or `"pearson"` for the classical Pearson correlation (see `corFunctions`). `control` a list of additional arguments to be passed to the specified correlation functional. If supplied, this takes precedence over additional arguments supplied via the `...` argument. `standardize` a logical indicating whether the data should be (robustly) standardized. `useL1Median` a logical indicating whether the L1 medians should be used as the centers of the data sets in standardization (defaults to `TRUE`). If `FALSE`, the columnwise centers are used instead (columnwise means if `method` is `"pearson"` and columnwise medians otherwise). `fallback` logical indicating whether a fallback mode for robust standardization should be used. If a correlation functional other than the Pearson correlation is maximized, the first attempt for standardizing the data is via median and MAD. In the fallback mode, variables whose MADs are zero (e.g., dummy variables) are standardized via mean and standard deviation. Note that if the Pearson correlation is maximized, standardization is always done via mean and standard deviation. `...` additional arguments to be passed to the specified correlation functional.

## Details

First the candidate projection directions are defined for each data set from the respective center through each data point. Then the algorithm scans all n^2 possible combinations for the maximum correlation, where n is the number of observations.

## Value

An object of class `"maxCor"` with the following components:

 `cor` a numeric giving the maximum correlation estimate. `a` numeric; the weighting vector for `x`. `b` numeric; the weighting vector for `y`. `centerX` a numeric vector giving the center estimates used in standardization of `x`. `centerY` a numeric vector giving the center estimates used in standardization of `y`. `scaleX` a numeric vector giving the scale estimates used in standardization of `x`. `scaleY` a numeric vector giving the scale estimates used in standardization of `y`. `call` the matched function call.

## Author(s)

Andreas Alfons

`maxCorGrid`, `ccaProj`, `corFunctions`,
 ``` 1 2 3 4 5 6 7 8 9 10``` ```data("diabetes") x <- diabetes\$x y <- diabetes\$y ## Spearman correlation maxCorProj(x, y, method = "spearman") maxCorProj(x, y, method = "spearman", consistent = TRUE) ## Pearson correlation maxCorProj(x, y, method = "pearson") ```