I ran PCA with the principal() function of the psych package on some data with 2 variables and 15 observations . I ran PCA thrice, first with no rotation, then with the varimax rotation, and lastly with the oblimin rotation. I didn't eliminate any factor/component and kept both factors/components. However, in all 3 cases my output was exactly the same. Why are the varimax and oblimin rotations ignored? Is it because I have only 2 variables? Or because the data is highly correlated?
Here is the code:
library(psych)
library(GPArotation)
dummyData <- read.csv("DummyPCAData.csv", header = TRUE)
r <- cor(dummyData)
# Method1 Method2
# Method1 1.0000000 0.8870806
# Method2 0.8870806 1.0000000
# Run PCA with no roation and with both factors
pca1 <- principal(r, nfactors=2, rotate="none",n.obs=nrow(dummyData))
# Standardized loadings (pattern matrix) based upon correlation matrix
# PC1 PC2 h2 u2 com
# Method1 0.97 -0.24 1 2.2e-16 1.1
# Method2 0.97 0.24 1 2.2e-16 1.1
# PC1 PC2
# SS loadings 1.89 0.11
# Proportion Var 0.94 0.06
# Cumulative Var 0.94 1.00
# Proportion Explained 0.94 0.06
# Cumulative Proportion 0.94 1.00
# PCA with varimax rotation with both factors
pca2 <- principal(r, nfactors=2, rotate="varimax", n.obs=nrow(dummyData))
# Standardized loadings (pattern matrix) based upon correlation matrix
# RC1 RC2 h2 u2 com
# Method1 0.97 -0.24 1 2.2e-16 1.1
# Method2 0.97 0.24 1 2.2e-16 1.1
# RC1 RC2
# SS loadings 1.89 0.11
# Proportion Var 0.94 0.06
# Cumulative Var 0.94 1.00
# Proportion Explained 0.94 0.06
# Cumulative Proportion 0.94 1.00
# PCA with oblimin rotation with both factors
pca3 <- principal(r, nfactors=2, rotate="oblimin", n.obs=nrow(dummyData))
# Standardized loadings (pattern matrix) based upon correlation matrix
# TC1 TC2 h2 u2 com
# Method1 0.97 -0.24 1 2.2e-16 1.1
# Method2 0.97 0.24 1 2.2e-16 1.1
# TC1 TC2
# SS loadings 1.89 0.11
# Proportion Var 0.94 0.06
# Cumulative Var 0.94 1.00
# Proportion Explained 0.94 0.06
# Cumulative Proportion 0.94 1.00
# With component correlations of
# TC1 TC2
# TC1 1 0
# TC2 0 1