[R] Orthoblique rotation on eigenvectors (SAS VARCLUS)

Frank Harrell f.harrell at vanderbilt.edu
Sun Apr 10 18:52:07 CEST 2011


See the varclus function in the Hmisc package.
Frank


Axel Urbiz wrote:
> 
> Hi All,
> 
> I'd like to build a package for the community that replicates the output
> produced by SAS "proc varclus". According to the SAS documentation, the
> first few steps are:
> 
> 1. Find the first two principal components.
> 2. Perform an orthoblique rotation (quartimax rotation) on eigenvectors.
> 3. Assign each variable to the rotated component with which it has the
> higher
>    squared correlation.
> The cartoon example below attempt to do this, but I found my results
> differ
> from SAS in "pc3" (i.e,  the standardize component scores).
> 
> I'd appreciate your help in whether you see anything wrong in "pc2" or
> "pc3"?
> 
> set.seed(1)
> x1=rnorm(200); x2=0.9*x1; x3=0.7*x1; x4=x1*x1; x5=x1*x1*x1;
> x6=rnorm(200); x7=0.9*x6; x8=0.7*x6; x9=x6*x6; x10=x6*x6*x6;
> x <- cbind(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10)
> 
> require(GPArotation)
> pc1 <- princomp(x, cor = TRUE, scores = TRUE)
> pc2 <- quartimax(pc1$loadings[,1:2],normalize=TRUE)$loadings
> pc3 <- scale(x%*% pc2)
> pc4 <- apply(x, 2, function(x) cor(x, pc3)^2)
> 
> Thanks in advance for any help!
> 
> Axel.
> 
> 	[[alternative HTML version deleted]]
> 
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
> 


-----
Frank Harrell
Department of Biostatistics, Vanderbilt University
--
View this message in context: http://r.789695.n4.nabble.com/Orthoblique-rotation-on-eigenvectors-SAS-VARCLUS-tp3438695p3440064.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list