美文网首页
提取heatmap作图中的cluster行名或者列名

提取heatmap作图中的cluster行名或者列名

作者: 面面的徐爷 | 来源:发表于2022-05-08 16:25 被阅读0次

此post旨在提取heatmap作图中的cluster行名或者列名

其实,对heatmap热图提取cluster就是对hclust的结果提取cluster,tree_col和tree_row属性

首先,我们要构建一个matrix或者data.frame进行pheatmap作图

# package library
library(pheatmap)
library(tidyverse)

# Create random data
set.seed(50)
data <- replicate(20, rnorm(50, mean = 100, sd = 100))
data %>% class()

rownames(data) <- paste("Gene", c(1:nrow(data)))
colnames(data) <- paste("Sample", c(1:ncol(data)))

# get heatmap plot
(out <- pheatmap(data, scale="row"))
dev.copy(png, "heatmap_raw.png", width=4000, height=4000, res = 330)
dev.off()

[图片上传失败...(image-52c3bd-1651998762319)]

随后,我们提取热图中的行名和列名

# Re-order original data (genes) to match ordering in heatmap (top-to-bottom)
data[out$tree_row[["order"]],] %>% rownames()

# Re-order original data (samples) to match ordering in heatmap (left-to-right)
data[out$tree_row[["order"]],] %>% colnames()

# get hclust plot
plot(out$tree_col)
abline(h = 11.5, col="red", lty=2, lwd=2)
dev.copy(png, "heatmap_hclust.png", width=4000, height=4000, res = 330)
dev.off()

[图片上传失败...(image-3b19fa-1651998649328)]

假如我们需要可视化的话,可以加一个annotation

# get 3 cluster for sample name
(tree <- cutree(out$tree_col, k=3))

tree <- ifelse(tree == 1, "cluster_1", 
               ifelse(tree == 2, "cluster_2", 
                      "cluster_3")) %>% as.data.frame() %>% setNames("Cluster")

# get annotation plot
pheatmap(data, scale = "row", annotation_col = tree)
dev.copy(png, "heatmap_3cluster.png", width=4000, height=4000, res = 330)
dev.off()

[图片上传失败...(image-837391-1651998607583)]

相关文章

  • 提取heatmap作图中的cluster行名或者列名

    此post旨在提取heatmap作图中的cluster行名或者列名 其实,对heatmap热图提取cluster就...

  • 1 初识Complexheatmap

    ComplexHeatmap绘制的热图种类分为: ① Heatmap 类:单个热图,包括热图主体、行/列名称、标题...

  • 提取行名或列名前缀生成新的矩阵

    matrix为原始矩阵,提取列名前缀为P1TLH的列,组成新的矩阵patient1 提取行名前缀为Mt-的列(线粒...

  • SQL 三四章

    select * from 表名(显示所有列) 一次添加一行数据: insert into 表名(列名,列名,列名...

  • R语言学习——数据框编辑

    数据框编辑 数据框编辑包括改行列名和内容。 修改行名和列名 改行名和列名(行名和列名的本质是向量) Tips:误操...

  • 2019-01-18R基本操作和常识

    基本操作 读取本地数据 设置行名,列名 数据框导出 变量保存与加载 提取元素 直接使用数据框中的变量 保存作图 不...

  • 学习小组—豹—Day5

    向量 向量:多个元素 标量: 一个元素 提取向量的方法 根据元素位置 根据值 数据框 读取文件 设置行名和列名 数...

  • 学习小组Day5笔记-随风

    基本知识 向量数据框矩阵数组 向量 标量:一个元素向量:多个元素 向量中提取元素 数据框 读取数据 行名和列名 导...

  • 学习小组Day5笔记--任重道远

    向量# 赋值## 提取## 位置### 大小### 数据框# 读取本地数据## 行名列名## 导出## 保存与重新...

  • python pandas.merge 合并处理两个DataFr

    该函数可以根据这两个DataFrame的列名(columns)或者行名(索引,indexes)进行合并,如果按照列...

网友评论

      本文标题:提取heatmap作图中的cluster行名或者列名

      本文链接:https://www.haomeiwen.com/subject/agyqurtx.html