【问题标题】:R principal() get eigenvalues of factorsR principal() 获取因子的特征值
【发布时间】:2018-12-07 18:12:59
【问题描述】:

我已经完成了 PCA,结果如下所示:

                 RC1  RC14   RC2   RC5   RC3   RC9   RC6   RC7  RC16  RC11  RC19  RC12  RC26   RC8  RC10   RC4  RC20 …
SS loadings    3.199 3.161 3.001 2.958 2.928 2.908 2.793 2.786 2.727 2.723 2.696 2.558 2.544 2.540 2.515 2.499 2.494 … 
Proportion Var 0.005 0.005 0.005 0.004 0.004 0.004 0.004 0.004 0.004 0.004 0.004 0.004 0.004 0.004 0.004 0.004 0.004 … 
Cumulative Var 0.005 0.010 0.014 0.019 0.023 0.027 0.032 0.036 0.040 0.044 0.048 0.052 0.056 0.060 0.063 0.067 0.071 …

如您所见,因子(RC1、RC14 等)的顺序不正确。

要获得特征值,我可以使用fit$values,我会得到这样的列表

  [1] 4.9880983 4.3804479 3.4831868 3.4637441 3.1826873 2.9171613 2.7109790 2.7069910 2.6505181 2.5475078 2.5339040
 [12] 2.5167436 2.4434298 2.4023438 2.3648536 2.3065183 2.2927025 2.2779793 2.2523245 2.2436222 2.2073776 2.1823970
 [23] 2.1626319 2.1487751 2.1274126 2.0963421 2.0918373 2.0728735 2.0603362 2.0470462 2.0355974 2.0202679 2.0170792
 [34] 2.0013015 1.9891380 1.9874788 …

现在我想要这些因子的特征值。问题是——因为因子没有排序——我怎样才能匹配因子和它们各自的特征值?我猜 RC1 的特征值为 4.9880983,但 RC14 的特征值为 4.3804479 还是 2.4023438?

【问题讨论】:

  • 你用的是什么 R 函数?
  • 我正在使用 psych 库中的 principal() 函数。 fit <- principal(d_cor, nfactors=21, rotate="varimax", normalize=FALSE) d_cor 是一个相关矩阵。
  • 如果有错误,请有人纠正我。由于您的principal components 按重要性顺序列出,并且它们是eigenvalueseigenvector 组件的产物,我假设您的eigenvalues 与您的PC 的顺序相同。所以你的第二个principal component (RC14) 应该是你的第二个eigenvalue (4.3804479)。如果这是一个因素分析,我对此并不乐观。
  • 这也是我的假设,但我想确定是否真的如此。

标签: r pca factor-analysis


【解决方案1】:

您可以安装 FactoExtra 库,它有很多很棒的工具。它在 PC 轴 ID 旁边列出了特征值,因此不会有任何混淆。

库(FactoExtra)

eig.val

eig.val[1:8,] #吐出前8个轴。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-23
    • 1970-01-01
    • 2017-09-12
    • 1970-01-01
    • 2013-05-15
    • 2022-07-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多