The R programming language has an excellent package “psych” that Python has no real equivalent of.
For example, R can do the following code using the principal() function:
principal(r=dat, nfactors=num_pcs, rotate="varimax")
to return the “rotation matrix” in principal component analysis based on the data “dat” and the number of principal components “num_pcs”, using the “varimax” method.
The closest equivalent in Python is to first use the factor_analyzer package:
from factor_analyzer import FactorAnalyzer
Then, we use the following code to get the “rotation matrix”:
fa = FactorAnalyzer(n_factors=3, method='principal', rotation="varimax") fa.fit(dat) print(fa.loadings_.round(2))