【问题标题】:Screeplot in R with psych package带有心理包的R中的Screeplot
【发布时间】:2015-12-17 14:47:00
【问题描述】:

我已经在 R 的 psych 包中计算了一个主函数的 PCA。我想从特征值构建一个 screeplot,但是 scree(PCA) 和 screeplot(PCA) 都给我错误并且没有绘图。这个包中是否有我不知道的功能(我的 R 经验非常非常少)??

注意:我一直只是在命令行中工作。

碎石错误(PCA):

Error in if (nvar != dim(rx)[1]) { : argument is of length zero

screeplot(PCA) 错误:

Error in plot.window(xlim, ylim, log = log, ...) : 
need finite 'xlim' values
In addition: Warning messages:
1: In min(w.l) : no non-missing arguments to min; returning Inf
2: In max(w.r) : no non-missing arguments to max; returning -Inf
3: In min(x) : no non-missing arguments to min; returning Inf
4: In max(x) : no non-missing arguments to max; returning -Inf

【问题讨论】:

  • 你的 screeplot 问题@DJV 做得对吗?我看到您提到您正在使用命令行。看看 RStudio 作为一个编辑器,它可能更容易使用/更新包/查看你的变量和调试。

标签: r pca


【解决方案1】:

没有数据,我们很难对此进行检查。错误消息看起来像数据为空。

这里有一些针对 R 初学者的提示。

  1. 尝试获取有关 scree 功能的帮助。你缺少一个参数吗?输入命令行。 help(scree)

  2. 查看您的变量 PCA

    head(PCA) - 显示数据的前几行

    str(PCA) - 显示变量的结构。这是scree功能所期望的吗?

  3. 您的数据中是否存在缺失值或文本值?这些函数可能会被抛出。您可以删除丢失的数据 - 查看complete.casesis.na() 是您检查 NA 值的方式(即,如果我想检查变量 mydata 中的 NA,sum(is.na(mydata)) 会告诉我我有多少。删除这些行,看看是否能让您的 scree 功能正常工作。

  4. 看一下包装的插图: https://cran.r-project.org/web/packages/psych/vignettes/overview.pdf

希望这能让你走上正轨。

【讨论】:

  • 我查看了心理指南。它还建议查看函数fa.parallel“在选择最佳因子数量的众多方法中,有碎石测试。在 fa.parallel 中可以找到更好的函数来显示碎石并将其与随机并行解决方案进行比较"
  • @DJV - 你的 screeplot 问题做得对吗?
【解决方案2】:

您是否输入了相关矩阵作为scree( ) 函数的输入?

使用我自己的数据,我能够使用以下两行代码生成一个碎石图:

humor_cor <- cor(humor, use = "pairwise.complete.obs") 
scree(humor_cor, factors = FALSE) 

【讨论】:

    猜你喜欢
    • 2021-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-11
    • 2012-02-21
    • 2013-03-01
    相关资源
    最近更新 更多