R/cca.R

Defines functions cca

Documented in cca

cca <-
function(A,B){
  n = nrow(A);
  p = mrank(A);
  q = mrank(B);
  if (p <= q){
    X = A;
    Y = B;
  }else{
    X = B;
    Y = A;
  }
  R = p_ginv_sq(cov(X),0.5) %*% cov(X,Y) %*% p_ginv_sq(cov(Y),1) %*% cov(Y,X) %*% p_ginv_sq(cov(X),0.5);
  k = mrank_sq(R);
  d = Re(eigen(R)$values);
  rho = d[1:k]^(0.5);
  rho[rho >= 0.9999999]=0.9999999;
  
  chisq_p = CCA_chisq_test(rho,n,p,q);
  return(list("rho"=rho,"chisq_p"=chisq_p,"df"=p*q));
}

Try the QRFCCA package in your browser

Any scripts or data that you put into this service are public.

QRFCCA documentation built on Nov. 17, 2017, 7:20 a.m.