我使用factanal
函数使用这个简单的代码:
factor_analyisi<-factanal(CFscale,factors=2,rotate="varimax")
但是我收到了这个错误:
Error in solve.default(cv) :
system is computationally singular: reciprocal condition number = 1.70441e-20
为什么?
这是CFscale矩阵的head
,
Age X6Ckine.CCL21. BCA.1..CXCL13. ENA.78.CXCL5. EOTAXIN.CCL11.
ID2 1.3589518 -0.62230682 0.4234253 -1.0014789 -0.8840086
ID3 -1.0019921 -0.08609578 0.8596906 -0.5711517 -0.7924021
ID4 0.1621975 -0.62285177 -0.4081158 -0.6698831 -0.7941621
ID5 -0.9368626 -0.57273123 -0.3889110 -1.0381312 -0.9192960
ID7 1.1554221 -1.01596723 -0.4453790 -0.3098134 -0.8896405
ID8 -1.2136629 -0.19600220 0.1276134 -0.5717698 -0.7149634
dim(CFscale)
39 309
有人可以帮助我吗?
答案 0 :(得分:0)
这些类型的问题都是一样的。你可以在这里看到glm
版本:
在通常在计算过程中创建线性模型(基于因子的模型)的过程中,您需要解决看起来像这样的事物:
Ab=c
其中A
是系数矩阵,b
是矢量,c
是结果矢量。解决这个问题涉及逆转A
,这基本上是你的数据(不是真的,但足够接近)。反转矩阵意味着找到A ^ -1,使
A*A^-1=I
和我是对角矩阵,对角线上有1s。当A不可反转时,它被称为单数 - 你无法解决系统问题。
从实际角度来看,这意味着问题出在数据中。当然你不想听,所以有补救措施。由于问题,通常意味着两个或多个变量高度相关。因此我建议:
这也是因子分析,你只有5个变量。这是一个非常低的数量 - 通常意味着你不会期望超过1个因素,也许2.如果你得到3个,或者4个或更多因素,那么这不是你正在寻找的分析 - 重点是看看你是否可以减少你的自变量,如果你没有1-2个因素,这就不会真的那么做。由于你在寻找2个因素,这可能没有用处。