【问题标题】:0 x 0 matrix when running PCA in FactoMineR在 FactoMineR 中运行 PCA 时的 0 x 0 矩阵
【发布时间】:2014-11-28 09:04:13
【问题描述】:

我正在尝试运行指示定量数据和定性数据的主成分分析 (PCA),但执行时出现此错误:

library(FactoMineR)
pca(data, quanti.sup = 4:12, quali.sup = 1:3, scale.unit = FALSE, ncp=2)

Error in eigen(t(X)%*%X, symmetric = TRUE): = 0x0 matrix

我的数据是一个带有名称的 2980 x 12 数据框,所以这真的很奇怪。 任何建议将不胜感激。

【问题讨论】:

  • 您能否编辑您的问题以包括头部(数据)?看起来您已将所有变量指定为补充变量。
  • 是的,我就是这么做的。已修复,现在我在执行hcpc <- hcpc(pca, nb.clust = 0, conso = 0, min=3,max=10) Error in hcpc(pca, nb.clust = 0, conso = 0, min=3,max=10) : object 'res.consol' not found@LJW 时遇到不同的错误,你知道这是为什么吗?
  • 我认为您应该仔细阅读documentation for FactoMineR,如果您仍有新问题,请照此发布。请务必include a reproducible example

标签: r pca


【解决方案1】:

你遇到的问题是因为你在调用PCA()的时候把你所有的变量都指定为补充变量了。

为了举例说明,我们可以使用内置数据集USJudgeRatings

head(USJudgeRatings)
               CONT INTG DMNR DILG CFMG DECI PREP FAMI ORAL WRIT PHYS RTEN
AARONSON,L.H.   5.7  7.9  7.7  7.3  7.1  7.4  7.1  7.1  7.1  7.0  8.3  7.8
ALEXANDER,J.M.  6.8  8.9  8.8  8.5  7.8  8.1  8.0  8.0  7.8  7.9  8.5  8.7
ARMENTANO,A.J.  7.2  8.1  7.8  7.8  7.5  7.6  7.5  7.5  7.3  7.4  7.9  7.8
BERDON,R.I.     6.8  8.8  8.5  8.8  8.3  8.5  8.7  8.7  8.4  8.5  8.8  8.7
BRACKEN,J.J.    7.3  6.4  4.3  6.5  6.0  6.2  5.7  5.7  5.1  5.3  5.5  4.8
BURNS,E.B.      6.2  8.8  8.7  8.5  7.9  8.0  8.1  8.0  8.0  8.0  8.6  8.6

在此数据中,有 43 位法官根据律师的 11 项素质进行了排名(第 2:12 栏)。第 1 列是律师与法官的联系次数。

如果您指定所有变量都是补充变量,则 PCA 将不起作用。

library(FactoMineR)
result <- PCA(USJudgeRatings, ncp = 3, quanti.sup = 1:12)
# Error in eigen(t(X) %*% X, symmetric = TRUE) : 0 x 0 matrix

我们必须给 PCA 一些变量来处理。相反,我们让我们的 11 个变量进入 PCA,并仅指定律师与法官的联系次数作为定量补充变量:

result <- PCA(USJudgeRatings, ncp = 3, quanti.sup = 1)

这会运行,然后您可以使用summary.PCA(result) 查看结果。

【讨论】:

    猜你喜欢
    • 2015-07-24
    • 1970-01-01
    • 1970-01-01
    • 2013-09-23
    • 1970-01-01
    • 2021-09-01
    • 2011-12-24
    • 1970-01-01
    • 2011-12-03
    相关资源
    最近更新 更多