如何获得"比例变量"来自PCA输出的线使用来自包含心理的主体?

时间:2017-04-15 12:36:24

标签: r rstudio

我想获得"比例变量"像对象或矢量一样来自" pca $ loadings"下面,在PCA图形中使用其值。

我做了以下事情:

$scope.messages = $rootScope.Messages.Inbox;

$scope.MarkAsRead = function(ID_NR)
{
    angular.forEach($rootScope.Messages.Inbox, function (value, key) {

    if ((value.IsRead == 2) && (value.From == ID_NR))
    {
       value.IsRead = 3;
     }   
    });
} 

我应该如何获得比例变量?

1 个答案:

答案 0 :(得分:0)

另一种方法是手动计算,但首先需要提取所有因子(例如,所有轴)

您应该将nfactors指定为您拥有的变量数量,在您的示例中为4.所以它应该是这样的:

pca <- principal(iris[1:4],nfactors = 4,rotate="varimax",scores=TRUE)

然后,提取pca$loadings之后,您可以通过获得每个组件的平方加载总和(在这种情况下为RC)来计算比例方差,并将它们除以总和平方加载,您可以通过这样:

colSums(pca$loadings[ , ]^2)/sum(pca$loadings[ , ]^2)

这应该为您提供与pca$loadings中的比例差异相同的信息,尽管对于所有组件(在这种情况下为RC1到RC4)。