Dear Users, I ran factor analysis using R and SAS. However, I had different outputs from R and SAS. Why they provide different outputs? Especially, the factor loadings are different. I did real dataset(n=264), however, I had an extremely different from R and SAS. Why this things happened? Which software is correct on?
Thanks in advance, - TY #R code with example data # A little demonstration, v2 is just v1 with noise, # and same for v4 vs. v3 and v6 vs. v5 # Last four cases are there to add noise # and introduce a positive manifold (g factor) v1 <- c(1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,4,5,6) v2 <- c(1,2,1,1,1,1,2,1,2,1,3,4,3,3,3,4,6,5) v3 <- c(3,3,3,3,3,1,1,1,1,1,1,1,1,1,1,5,4,6) v4 <- c(3,3,4,3,3,1,1,2,1,1,1,1,2,1,1,5,6,4) v5 <- c(1,1,1,1,1,3,3,3,3,3,1,1,1,1,1,6,4,5) v6 <- c(1,1,1,2,1,3,3,3,4,3,1,1,1,2,1,6,5,4) m1 <- cbind(v1,v2,v3,v4,v5,v6) cor(m1) # v1 v2 v3 v4 v5 v6 #v1 1.0000000 0.9393083 0.5128866 0.4320310 0.4664948 0.4086076 #v2 0.9393083 1.0000000 0.4124441 0.4084281 0.4363925 0.4326113 #v3 0.5128866 0.4124441 1.0000000 0.8770750 0.5128866 0.4320310 #v4 0.4320310 0.4084281 0.8770750 1.0000000 0.4320310 0.4323259 #v5 0.4664948 0.4363925 0.5128866 0.4320310 1.0000000 0.9473451 #v6 0.4086076 0.4326113 0.4320310 0.4323259 0.9473451 1.0000000 factanal(m1, factors=3) # varimax is the default # Output from R #Call: #factanal(x = m1, factors = 3) #Uniquenesses: # v1 v2 v3 v4 v5 v6 #0.005 0.101 0.005 0.224 0.084 0.005 #Loadings: # Factor1 Factor2 Factor3 #v1 0.944 0.182 0.267 #v2 0.905 0.235 0.159 #v3 0.236 0.210 0.946 #v4 0.180 0.242 0.828 #v5 0.242 0.881 0.286 #v6 0.193 0.959 0.196 # Factor1 Factor2 Factor3 #SS loadings 1.893 1.886 1.797 #Proportion Var 0.316 0.314 0.300 #Cumulative Var 0.316 0.630 0.929 #The degrees of freedom for the model is 0 and the fit was 0.4755 /* SAS code with example data*/ data fact; input v1-v6; datalines; 1 1 3 3 1 1 1 2 3 3 1 1 1 1 3 4 1 1 1 1 3 3 1 2 1 1 3 3 1 1 1 1 1 1 3 3 1 2 1 1 3 3 1 1 1 2 3 3 1 2 1 1 3 4 1 1 1 1 3 3 3 3 1 1 1 1 3 4 1 1 1 1 3 3 1 2 1 1 3 3 1 1 1 2 3 3 1 1 1 1 4 4 5 5 6 6 5 6 4 6 4 5 6 5 6 4 5 4 ; run; proc factor data=fact rotate=varimax method=p nfactors=3; var v1-v6; run; /* Output from SAS*/ The FACTOR Procedure Initial Factor Method: Principal Components Prior Communality Estimates: ONE Eigenvalues of the Correlation Matrix: Total = 6 Average = 1 Eigenvalue Difference Proportion Cumulative 1 3.69603077 2.62291629 0.6160 0.6160 2 1.07311448 0.07234039 0.1789 0.7949 3 1.00077409 0.83977061 0.1668 0.9617 4 0.16100348 0.12004232 0.0268 0.9885 5 0.04096116 0.01284515 0.0068 0.9953 6 0.02811601 0.0047 1.0000 3 factors will be retained by the NFACTOR criterion. Factor Pattern Factor1 Factor2 Factor3 v1 0.79880 0.54995 -0.17614 v2 0.77036 0.56171 -0.24862 v3 0.79475 -0.07685 0.54982 v4 0.75757 -0.08736 0.59785 v5 0.80878 -0.45610 -0.33437 v6 0.77771 -0.48331 -0.36933 Variance Explained by Each Factor Factor1 Factor2 Factor3 3.6960308 1.0731145 1.0007741 Final Communality Estimates: Total = 5.769919 v1 v2 v3 v4 v5 v6 0.97154741 0.97078498 0.93983835 0.93897798 0.97394719 0.97482345 The FACTOR Procedure Rotation Method: Varimax Orthogonal Transformation Matrix 1 2 3 1 0.58233 0.57714 0.57254 2 -0.64183 0.75864 -0.11193 3 -0.49895 -0.30229 0.81220 Rotated Factor Pattern Factor1 Factor2 Factor3 v1 0.20008 0.93148 0.25272 v2 0.21213 0.94590 0.17626 v3 0.23781 0.23418 0.91019 v4 0.19893 0.19023 0.92909 v5 0.93054 0.22185 0.24253 v6 0.94736 0.19384 0.19939 Variance Explained by Each Factor Factor1 Factor2 Factor3 1.9445607 1.9401828 1.8851759 Final Communality Estimates: Total = 5.769919 v1 v2 v3 v4 v5 v6 0.97154741 0.97078498 0.93983835 0.93897798 0.97394719 0.97482345 [[alternative HTML version deleted]] ______________________________________________ R-help@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.