【问题标题】:R: Which heatmap/image to get row-sorted plot without any dendrogram?R:哪个热图/图像可以在没有任何树状图的情况下获得行排序图?
【发布时间】:2012-05-20 16:23:26
【问题描述】:

哪个包最适合仅对行排序的热图/图像,但不显示任何树状图或其他视觉混乱(只是一个二维彩色网格,两个轴上都有自动命名标签) .除了基本的数字排序,我不需要花哨的聚类。数据是我想要可视化的范围 (0,0.21) 内的 39x10 数字表。

我搜索了 SO(参见 this)和 R 站点,并尝试了一些。查看R Graphical Manual 以查看出色的可搜索屏幕截图和相应软件包列表。

软件包的范围令人困惑——哪一个是首选的热图(例如 ggplot2 是用于大多数其他绘图的)?以下是我目前发现的:

base::heatmap 很烦人,即使使用 args heatmap(..., Colv=NA, keep.dendro=FALSE) 它仍然会在行上绘制不需要的树状图。

现在我将使用 pheatmap(..., cluster_cols=FALSE, cluster_rows=FALSE) 并手动预排序我的表,就像这个人:Order of rows in heatmap?

附录:要显示每个单元格内的值,请参阅:display a matrix, including the values, as a heatmap。我不需要那个,但它很好。

【问题讨论】:

  • 我不完全确定你在问什么。您是在问如何在 ggplot 中制作热图吗?如果是这样,您需要使用geom_tile()
  • @Andrie:我只是在问你们都推荐哪个包(我如何在没有聚类的情况下进行排序?没有树状图?)。我不认为 ggplot2 可以做热图,但是在你提到 geom_tile 之后我发现learnr article.
  • 如果你只是想排序,为什么不使用sort()?
  • (我知道如何手动排序,但我认为我们可以通过一些热图 fns 免费获得它。)不管怎样,您为我的用例推荐哪个包?
  • 我将使用hclust 或kmeans 进行聚类,或者仅使用sort,然后使用ggplot2 进行绘图。

标签: image r heatmap


【解决方案1】:

使用pheatmap,您可以使用选项treeheight_row 和treeheight_col 并将它们设置为0。

【讨论】:

    【解决方案2】:

    只是您没有提到的另一个选项...package bipartite,就像您说的那样简单

    library(bipartite)
    mat<-matrix(c(1,2,3,1,2,3,1,2,3),byrow=TRUE,nrow=3)
    rownames(mat)<-c("a","b","c")
    colnames(mat)<-c("a","b","c")
    visweb(mat,type="nested")
    

    【讨论】:

    • 这里是bipartite:visweb的截图。看起来不错,不知道如何重新利用额外的标记选项来实现其生物学目的。
    猜你喜欢
    • 1970-01-01
    • 2015-08-22
    • 1970-01-01
    • 2015-03-27
    • 2011-10-06
    • 2013-03-01
    • 1970-01-01
    • 2023-01-14
    • 2020-03-06
    相关资源
    最近更新 更多