【发布时间】:2015-06-25 22:15:52
【问题描述】:
我想了解 psych 包中的 principal() 函数是如何计算 $score 元素的。
我想试试协方差矩阵而不是相关矩阵。
model <- principal(mtcars[8:11],nfactors=4, rotate='none', scores=T, cov=T)
基本上,PCA的分数应该是原始中心数据的线性组合,使用加载矩阵作为权重,所以我尝试了:
test <- scale(mtcars[8:11], center=T, scale=F) %*% model$loadings / model$scores
我了解principal() 函数对负载使用某种缩放比例,但是,每列的比例仍应相同,test 的情况并非如此。
如果我使用相关矩阵,这将不是问题。例如:
model <- principal(mtcars[8:11],nfactors=4, rotate='none', scores=T, cov=F)
test <- scale(mtcars[8:11], center=T, scale=T) %*% model$loadings / model$scores
帮助文档使用了因子分析的术语,这让我更加困惑。希望有人可以在这里启发我。
提前谢谢你!
【问题讨论】: