的相关矩阵的特征值分解(闭合)(Eigenvalue decomposition of correl

2019-10-18 15:38发布

我有一个相关矩阵:

cor.table <- matrix( sample( c(0.9,-0.9) , 2500 , prob = c( 0.8 , 0.2 ) , repl = TRUE ) , 50 , 50 )
diag(cor.table) <- 1

我尝试做特征值分解:

library(psych)
fit<-principal(cor.table, nfactors=50,rotate="none")

要么

stopifnot( eigen( cor.table )$values > 0 )

在这两种情况下,我得到的错误:

Error in eigens$values < .Machine$double.eps : 
  invalid comparison with complex values

我究竟做错了什么?

Answer 1:

这是你的,你问一个同样的问题, 问题之前。 你需要一个对称矩阵。

set.seed(1)
cor.table <- matrix(sample(c(0.9,-0.9),2500,prob=c(0.8,0.2),repl=TRUE),50,50)
ind <- lower.tri(cor.table)
cor.table[ind] <- t(cor.table)[ind]
diag(cor.table) <- 1

现在,当您尝试使用eigen你没有得到一个错误。

your.eigen <- eigen(cor.table)
> summary(your.eigen)
Length Class  Mode   
values    50   -none- numeric
vectors 2500   -none- numeric


文章来源: Eigenvalue decomposition of correlation matrix [closed]
标签: r eigenvalue