【问题标题】:How to use corrplot with is.corr=FALSE如何将 corrplot 与 is.corr=FALSE 一起使用
【发布时间】:2021-01-04 08:43:14
【问题描述】:

我之前用 corrplot (my plot) 制作了一个漂亮的函数式和完美的实际相关图。现在我必须以相同的外观获取基础数据。所以我的目标是让三角形相似矩阵与我的相关图颜色相同。想象一下它就像 excel 中的条件格式。

我的数据:my Data from excel

Link to CSV Data file

它以 csv 格式加载,可以完美读取 csv

我的代码:corrplot(Phylogeny, is.corr=FALSE,method="number", cl.lim=c(0,1))

它抛出的错误:Error in if (any(corr < cl.lim[1]) || any(corr > cl.lim[2])) { : Missing value, where TRUE/FALSE is required

  • 我确保所有列都是数字
  • 我确保用 NA 填充缺失的位(因为这在以前是个问题)
  • 我确保我的所有值都在 0 和 1 之间,就像我希望的限制一样(在我尝试使用一些东西时,它告诉我我的值不在限制范围内)
  • 当我更改限制时错误不会改变
  • 当我取出 is.corr=FALSE 时错误没有改变(默认=TRUE)
  • 我玩弄了 corrplot.mixed,但它仍然无法正常工作
  • 已引用来自Corrplot Intro 的信息

我已经查看了condformat function,但我不确定它是否可以根据我用于相关图的整体渐变用一种颜色填充每个单元格。

我在这里错过了什么,它不想把漂亮的颜色还给我的桌子?

【问题讨论】:

  • 能否请您添加dput格式的数据
  • @Bertil Baron 我将要下载的数据添加为 CSV。查找了 dput funktion 但不确定如何添加它 - 希望这也能正常工作。对不起

标签: r r-corrplot


【解决方案1】:

我遇到了同样的错误,但我能够通过将我的 data.frame 转换为 matrix 来修复它。我最终得到了corrplot(as.matrix(df), is.corr = FALSE)

【讨论】:

    【解决方案2】:

    如果我理解正确,您发布的数据已经是一个相关矩阵 - 尽管不是一个完全对称的矩阵,在原始数据上调用 cor 会产生。

    在这种情况下,问题只是您将变量名称(物种)作为数据中的一列。将此列更改为行名,删除变量名,然后按照 user9536160 的建议调用 corrplot

    # read in your data    
    phyl <- as.data.frame(read_csv("Phylogeny.csv"))
    
    # name rows and drop variable names in the df itself
    row.names(phyl) <- phyl$Species
    phyl <- phyl %>%
      select(-Species)
    
    # call corrplot
    corrplot(as.matrix(phyl), is.corr = FALSE)
    

    结果:

    【讨论】:

      猜你喜欢
      • 2014-11-29
      • 2014-02-20
      • 1970-01-01
      • 1970-01-01
      • 2021-08-09
      • 2017-06-01
      • 1970-01-01
      • 2017-10-14
      • 1970-01-01
      相关资源
      最近更新 更多