【问题标题】:Missing value where TRUE/FALSE needed in corrplotcorrplot 中需要 TRUE/FALSE 的缺失值
【发布时间】:2016-06-21 15:44:53
【问题描述】:

我收到了这个

Error in if (min(corr) < -1 - .Machine$double.eps || max(corr) > 1 + .Machine$double.eps) { : missing value where TRUE/FALSE needed

我不确定这意味着什么。我的数据中有一个缺失值,想删除该行数据。我之前获取 corrplot 的代码是

library(corrplot)
C <- cor(SIMPIN_Data)
corrplot(C, method="number", use="complete.obs")

帮助?我对 R 很陌生。

我的数据是这样的

 1-Response time 1-Accuracy 2-Response time 2-Accuracy 3-Response Time 3-Accuracy
1        500         .80             200          .60          100         .99
2        550          NA             250          .30          900         .50
3        550         .20             250          .30          900         .50

【问题讨论】:

  • 如果您包含示例输入数据以创建reproducible example 会有所帮助。这样可以更轻松地为您提供帮助。
  • min(corr,na.rm=TRUE)max 部分也是如此)很可能会解决问题。 R 告诉if 语句的结果是NA,因此它无法继续。如果向量的元素是NA,则minmax 函数返回NA
  • 您的相关矩阵中缺少 (NA),并且 corrplot 将无法与缺少一起使用。您在错误的地方使用了use="complete.obs" - 在cor 函数中使用它。

标签: r plot r-corrplot


【解决方案1】:

我刚刚修复了这个已知的 corrplot 问题“启用使用 NA 绘制矩阵”。见https://github.com/taiyun/corrplot/issues/7

问题确实出在@nicola 建议的min(corr,na.rm=TRUE)max(corr,na.rm=TRUE)

你可以从github下载最新版本:

install.packages("devtools")
devtools::install_github("taiyun/corrplot")

【讨论】:

    猜你喜欢
    • 2019-03-07
    • 2021-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-28
    相关资源
    最近更新 更多