[R] cancor
Hello, I'm a beginner to use R. When use cancor to analysis two data set X,Y, for example: can-cancor(X, Y) then 5 components are returned, that is cor, xcoef, ycoef, xcentre, ycentre; The explained variance can be calculated by X %*% can$xcoef or Y %*% can$ycoef, but how to alculate the canonical maps of field X and Y? Thanks! yana __ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
[R] Cancor
Dear Gabor, thank you for your answer related to the normalization of cancor coefficients. If you want to interpret the coefficients in terms of variables' contributions to canonical variables, loadings, redundancy measure, etc. , you have to normalize the results so that the canonical variables have identity variance matrix. Multiplying cancor coefficients xcoef and ycoef by as.numeric(sqrt(nrow(x)-1)) does the job. (I sometimes miss such information in the R help.) Best regards, Irena Komprej __ [EMAIL PROTECTED] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Re: [R] Cancor
On (she claimed) Thu, 1 Jan 1998, Irena Komprej wrote: Dear Gabor, This is R-help, not `Gabor', although you keep sending mail addressed to `Gabor' to this list. thank you for your answer related to the normalization of cancor coefficients. If you want to interpret the coefficients in terms of variables' contributions to canonical variables, loadings, redundancy measure, etc. , you have to normalize the results so that the canonical variables have identity variance matrix. Multiplying cancor coefficients xcoef and ycoef by as.numeric(sqrt(nrow(x)-1)) does the job. (I sometimes miss such information in the R help.) I think you miss it in the references given on the R help pages. Please do read them. (Any good book will tell you that the scaling of canonical variates is arbitrary.) Please also ask your local IT advisors to set your computer to a sensible time: the world is 6.7 years ahead of you. -- Brian D. Ripley, [EMAIL PROTECTED] Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UKFax: +44 1865 272595 __ [EMAIL PROTECTED] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Re: [R] Cancor
Irena Komprej irena.komprej at telemach.net writes: I am strugling with cancor procedure in R. I cannot figure out the meaning of xcoef and of yxcoef. Are these: 1. standardized coefficients 2. structural coefficients 3. something else? Look at the examples at the bottom of ?cancor from which its evident xcoef is such that x %*% cxy$xcoef are the canonical variables. (More at the end of this post.) I have tried to simulate canonical correlation analysis by checking the eigenstructure of the expression: Sigma_xx %*% Sigma_xy %*% Sigma_yy %*% t(Sigma_xy). The resulting eigenvalues were the same as the squared values of cancor$cor. I have normalized the resulting eigenvectors, the a's with sqrt(a'%*%Sigma_xx%*%t(a)), and similarly the b's with sqrt(b'%*%Sigma_yy%*%t(b)). The results differed considerably from xcoef and ycoef of the cancor. Run the example in the help page to get some data and some output: set.seed(1) example(cancor) # Also, define isqrt as the inverse square root of a postive def matrix isqrt - function(x) { e - eigen(x) stopifnot( all(e$values 0) ) e$vectors %*% diag(1/sqrt(e$values)) %*% solve(e$vectors) } # we can reconstruct the canonical correlations and xcoef # in the way you presumably intended like this: z - svd(cov(x,y) %*% solve(var(y), cov(y,x)) %*% solve(var(x))) sqrt(z$d) # canonical correlations isqrt((nrow(x)-1)*var(x)) %*% z$u# xcoef Another thing you can do is to type cancor at the R prompt to view its source and see how it works using the QR decomposition. __ [EMAIL PROTECTED] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
[R] Cancor
Dear R's! I am strugling with cancor procedure in R. I cannot figure out the meaning of xcoef and of yxcoef. Are these: 1. standardized coefficients 2. structural coefficients 3. something else? I have tried to simulate canonical correlation analysis by checking the eigenstructure of the expression: Sigma_xx %*% Sigma_xy %*% Sigma_yy %*% t(Sigma_xy). The resulting eigenvalues were the same as the squared values of cancor$cor. I have normalized the resulting eigenvectors, the a's with sqrt(a'%*%Sigma_xx%*%t(a)), and similarly the b's with sqrt(b'%*%Sigma_yy%*%t(b)). The results differed considerably from xcoef and ycoef of the cancor. I thought then, maybe these coefficients are structural coefficients and therefore I multiplied them, the a's with a%*%Sigma_xx, and the b's with b%*%Sigma_yy, but the results are nevertheless far from those of the cancor. Now, I really don't know any more, how to interpret the xcoef and ycoef. I am thanking you in advance. Irena Komprej (an R enthusiast as of last year) __ [EMAIL PROTECTED] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
[R] Cancor
Dear R's! I am strugling with cancor procedure in R. I cannot figure out the meaning of xcoef and of yxcoef. Are these: 1. standardized coefficients 2. structural coefficients 3. something else? I have tried to simulate canonical correlation analysis by checking the eigenstructure of the expression: Sigma_xx %*% Sigma_xy %*% Sigma_yy %*% t(Sigma_xy). The resulting eigenvalues were the same as the squared values of cancor$cor. I have normalized the resulting eigenvectors, the a's with sqrt(a'%*%Sigma_xx%*%t(a)), and similarly the b's with sqrt(b'%*%Sigma_yy%*%t(b)). The results differed considerably from xcoef and ycoef of the cancor. I thought then, maybe these coefficients are structural coefficients and therefore I multiplied them, the a's with a%*%Sigma_xx, and the b's with b%*%Sigma_yy, but the results are nevertheless far from those of the cancor. Now, I really don't know any more, how to interpret the xcoef and ycoef. I am thanking you in advance. Irena Komprej (an R enthusiast as of last year) __ [EMAIL PROTECTED] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html