I have a dataframe that represents the correlation matrix of a large data set:
> data
V1 V2 V3 V4 V5 V6 V7 V8
1 1.000 0.846 0.805 0.859 0.473 0.398 0.301 0.382
2 0.846 1.000 0.881 0.826 0.376 0.326 0.277 0.415
3 0.805 0.881 1.000 0.801 0.380 0.319 0.237 0.345
4 0.859 0.826 0.801 1.000 0.436 0.329 0.327 0.365
5 0.473 0.376 0.380 0.436 1.000 0.762 0.730 0.629
6 0.398 0.326 0.319 0.329 0.762 1.000 0.583 0.577
7 0.301 0.277 0.237 0.327 0.730 0.583 1.000 0.539
8 0.382 0.415 0.345 0.365 0.629 0.577 0.539 1.000
I want to do principal component analysis using the princomp() in {stats} I tried reading the documentation available, and got:
myPCA <- princomp(~V1+V2+V3+V4+V5+V6+V7+V8, data=data, covmat=data)
But this does not do anything different than when I left off the last argument. Please advise on the correct way to use the princomp() parameters.
You may want to try using the principal
function under psych
package.
https://personality-project.org/r/html/principal.html.
Below is an excerpt from http://www.statmethods.net/advstats/factor.html
# Principal Axis Factor Analysis
library(psych)
fit <- principal(mydata, nfactors=5, rotate="varimax")
fit # print results
mydata can be a raw data matrix or a covariance matrix.