当前位置: 首页 > news >正文

利用R语言heatmap.2函数进行聚类并画热图

数据聚类然后展示聚类热图是生物信息中组学数据分析的常用方法,在R语言中有很多函数可以实现,譬如heatmap,kmeans等,除此外还有一个用得比较多的就是heatmap.2。最近在网上看到一个笔记文章关于《一步一步学heatmap.2函数》,在此与大家分享。由于原作者不详,暂未标记来源,请原作者前来认领哦,O(∩_∩)O哈哈~

数据如下:

  
  1. library(gplots)
  2. data(mtcars)
  3. x <- as.matrix(mtcars)
  4. rc <- rainbow(nrow(x), start=0, end=.3)
  5. cc <- rainbow(ncol(x), start=0, end=.3)

利用R语言heatmap.2函数进行聚类并画热图-图片1

X就是一个矩阵,里面是我们需要画热图的数据。

Rc是一个调色板,有32个颜色,渐进的

Cc也是一个调色板,有11个颜色,也是渐进的

首先画一个默认的图:

  
  1. heatmap.2(x)

利用R语言heatmap.2函数进行聚类并画热图-图片2

然后可以把聚类数可以去掉:就是控制这个dendrogram参数

  
  1. heatmap.2(x, dendrogram=“none”)

利用R语言heatmap.2函数进行聚类并画热图-图片3

然后我们控制一下聚类树

  
  1. heatmap.2(x, dendrogram=“row”) # 只显示行向量的聚类情况
  2. heatmap.2(x, dendrogram=“col”) #只显示列向量的聚类情况

 

下面还是在调控聚类树,但是我没看懂跟上面的参数有啥子区别!

  
  1. heatmap.2(x, keysize=2) ## default - dendrogram plotted and reordering done.
  2. heatmap.2(x, Rowv=FALSE, dendrogram=“both”) ## generate warning!
  3. heatmap.2(x, Rowv=NULL, dendrogram=“both”) ## generate warning!
  4. heatmap.2(x, Colv=FALSE, dendrogram=“both”) ## generate warning!

接下来我们可以调控行列向量的label的字体大小方向

首先我们调控列向量,也就是x轴的label

  
  1. heatmap.2(x, srtCol=NULL)
  2. heatmap.2(x, srtCol=0, adjCol = c(0.5,1) )
  3. heatmap.2(x, srtCol=45, adjCol = c(1,1) )
  4. heatmap.2(x, srtCol=135, adjCol = c(1,0) )
  5. heatmap.2(x, srtCol=180, adjCol = c(0.5,0) )
  6. heatmap.2(x, srtCol=225, adjCol = c(0,0) ) ## not very useful
  7. heatmap.2(x, srtCol=270, adjCol = c(0,0.5) )
  8. heatmap.2(x, srtCol=315, adjCol = c(0,1) )
  9. heatmap.2(x, srtCol=360, adjCol = c(0.5,1) )

利用R语言heatmap.2函数进行聚类并画热图-图片4

然后我们调控一下行向量,也就是y轴的label

  
  1. heatmap.2(x, srtRow=45, adjRow=c(0, 1) )
  2. heatmap.2(x, srtRow=45, adjRow=c(0, 1), srtCol=45, adjCol=c(1,1) )
  3. heatmap.2(x, srtRow=45, adjRow=c(0, 1), srtCol=270, adjCol=c(0,0.5) )

利用R语言heatmap.2函数进行聚类并画热图-图片5

设置 offsetRow/offsetCol 可以把label跟热图隔开!

  
  1. ## Show effect of offsetRow/offsetCol (only works when srtRow/srtCol is
  2. ## not also present) heatmap.2(x, offsetRow=0, offsetCol=0)
  3. heatmap.2(x, offsetRow=1, offsetCol=1)
  4. heatmap.2(x, offsetRow=2, offsetCol=2)
  5. heatmap.2(x, offsetRow=-1, offsetCol=-1)
  6. heatmap.2(x, srtRow=0, srtCol=90, offsetRow=0, offsetCol=0)
  7. heatmap.2(x, srtRow=0, srtCol=90, offsetRow=1, offsetCol=1)
  8. heatmap.2(x, srtRow=0, srtCol=90, offsetRow=2, offsetCol=2)
  9. heatmap.2(x, srtRow=0, srtCol=90, offsetRow=-1, offsetCol=-1)

利用R语言heatmap.2函数进行聚类并画热图-图片6

  
  1. ## Show effect of z-score scaling within columns, blue-red color scale
  2. hv <- heatmap.2(x, col=bluered, scale=“column”, tracecol=“#303030”)

hv是一个热图对象!!!

  
  1. > names(hv) # 可以看到hv对象里面有很多子对象
  2. > “rowInd” “colInd” “call” “colMeans” “colSDs” “carpet” “rowDendrogram” “colDendrogram” “breaks” “col” “vline” “colorTable” ## Show the mapping of z-score values to color bins hvKaTeX parse error: Expected 'EOF', got '#' at position 638: …an class="com">#̲# Extract the r…colorTable[hvKaTeX parse error: Expected 'EOF', got '#' at position 124: …n class="str">"#̲FFFFFF"</span><…colorTable[hvKaTeX parse error: Expected 'EOF', got '#' at position 124: …n class="str">"#̲FFFFFF"</span><…colSDs + hv c o l M e a n s < / s p a n > < s p a n c l a s s = " p u n " > , < / s p a n > < s p a n c l a s s = " p l n " > w h i t e B i n < / s p a n > < s p a n c l a s s = " p u n " > [ < / s p a n > < s p a n c l a s s = " l i t " > 2 < / s p a n > < s p a n c l a s s = " p u n " > ] < / s p a n > < s p a n c l a s s = " p l n " > < / s p a n > < s p a n c l a s s = " p u n " > ∗ < / s p a n > < s p a n c l a s s = " p l n " > h v colMeans</span><span class="pun">,</span><span class="pln"> whiteBin</span><span class="pun">[</span><span class="lit">2</span><span class="pun">]</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> hv colMeans</span><spanclass="pun">,</span><spanclass="pln">whiteBin</span><spanclass="pun">[</span><spanclass="lit">2</span><spanclass="pun">]</span><spanclass="pln"></span><spanclass="pun"></span><spanclass="pln">hvcolSDs + hvKaTeX parse error: Expected 'EOF', got '#' at position 1148: …n class="str">"#̲303030"</span><…Type)],
  3. xlab=‘CellLines’,
  4. ylab=‘Probes’,
  5. main=Cluster_Method[i],
  6. col=greenred(64))
  7. dev.off()
  8. }

 

这样就可以一下子把七种cluster的方法依次用到heatmap上面来。而且通过对cluster树的比较,我们可以从中挑选出最好、最稳定到cluster方法,为后续分析打好基础!

 

对下面这个数据聚类:

利用R语言heatmap.2函数进行聚类并画热图-图片12

  
  1. require(graphics)
  2. hc <- hclust(dist(USArrests), “ave”)
  3. plot(hc)

利用R语言heatmap.2函数进行聚类并画热图-图片13

首先对一个数据框用dist函数处理得到一个dist对象!

利用R语言heatmap.2函数进行聚类并画热图-图片14

Dist对象比较特殊,专门为hclust函数来画聚类树的!

利用R语言heatmap.2函数进行聚类并画热图-图片15

相关文章:

利用R语言heatmap.2函数进行聚类并画热图

数据聚类然后展示聚类热图是生物信息中组学数据分析的常用方法&#xff0c;在R语言中有很多函数可以实现&#xff0c;譬如heatmap,kmeans等&#xff0c;除此外还有一个用得比较多的就是heatmap.2。最近在网上看到一个笔记文章关于《一步一步学heatmap.2函数》&#xff0c;在此与…...

伦茨科技宣布ST17H6x芯片已通过Apple Find My「查找」认证

深圳市伦茨科技有限公司&#xff08;以下简称“伦茨科技”&#xff09;发布ST17H6x Soc平台。成为继Nordic之后全球第二家取得Apple Find My「查找」认证的芯片厂家&#xff0c;该平台提供可通过Apple Find My认证的Apple查找&#xff08;Find My&#xff09;功能集成解决方案。…...

nodejs微信小程序+python+PHP的游戏测评网站设计与实现-计算机毕业设计推荐

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性&#xff1a;…...

在 JavaScript 中导入和导出 Excel XLSX 文件:SpreadJS

在 JavaScript 中导入和导出 Excel XLSX 文件 2023 年 12 月 5 日 使用 MESCIUS 的 SpreadJS 将完整的 JavaScript 电子表格添加到您的企业应用程序中。 SpreadJS 是一个完整的企业 JavaScript 电子表格解决方案&#xff0c;用于创建财务报告和仪表板、预算和预测模型、科学、工…...

【Pytorch】Fizz Buzz

文章目录 1 数据编码2 网络搭建3 网络配置&#xff0c;训练4 结果预测5 翻车现场 学习参考来自&#xff1a; Fizz Buzz in Tensorflowhttps://github.com/wmn7/ML_Practice/tree/master/2019_06_10Fizz Buzz in Pytorch I need you to print the numbers from 1 to 100, excep…...

C++ Primer Plus第十四章笔记

目录 1.包含对象成员的类 valarray类简介 1.2 Student类的设计 1.3 接口和实现 1.4 C和约束 2. 私有继承 2.1 私有继承和组合的异同 2.2 初始化基类组件 2.3 访问基类的方法 2.4 访问基类对象 2.5 访问基类的友元函数 2.5 使用组合还是私有继承 3. 保护继承 4. 使…...

CentOS 7 mini 运行环境搭建与测试——CentOS Mini 安装ifconfig工具【云原生开发部署实践笔记】

云原生开发部署实践笔记 一、开发测试环境搭建与测试 1.1 Linux运行环境的搭建与测试 虽然CentOS已经更新到Stream 9 版本&#xff0c;但基于大多数企业和单位多数使用CentOS 7版本作为运行底座&#xff0c;7版本也一直在更行维护&#xff0c;此实践基于CentOS 7 Mini版本搭…...

案例061:基于微信小程序的互助学习系统

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;SSM JDK版本&#xff1a;JDK1.8 数据库&#xff1a;mysql 5.7 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder X 小程序…...

【ELK03】ES 索引的Mapping映射详解、数据类型和settings属性设置

一、ES 索引的映射和设置 1.MAPPING 映射(MAPPING)就是es中一个决定了文档如何存储,如何生成索引,字段各种类型定义的过程.类似于我们在关系型数据库中创建一个表格数据之前先定义表格有哪些字段,每个字段是什么类型,然后数据会按照这个配置写入表格,ES中同样是这个过程,它由…...

线性代数入门与学习笔记

该内容为重拾部分线性代数知识的学习笔记&#xff0c;内容上更多的是为了解决问题而学习的内容&#xff0c;并非系统化的学习。 针对的问题为&#xff1a;Music算法推导求解过程中的矩阵计算知识。 学习的内容包括&#xff1a;矩阵原理、矩阵行列式、矩阵的秩、线性变换矩阵变换…...

Linux安全学习路标

1. 操作系统基础知识 首先&#xff0c;你需要建立坚实的操作系统基础知识&#xff0c;包括Linux文件系统和目录结构、Linux进程管理、权限管理等基本概念。 2. 网络和通信安全 学习关于网络和通信安全的基础知识&#xff0c;包括TCP/IP协议栈、网络攻击类型、防火墙配置、网…...

常见的中间件--消息队列中间件测试点

最近刷题&#xff0c;看到了有问中间件的题目&#xff0c;于是整理了一些中间件的知识&#xff0c;大多是在小破站上的笔记&#xff0c;仅供大家参考~ 主要分为七个部分来分享&#xff1a; 一、常见的中间件 二、什么是队列&#xff1f; 三、常见消息队列MQ的比较 四、队列…...

【USRP】5G / 6G OAI 系统 5g / 6G OAI system

面向5G/6G科研应用 USRP专门用于5G/6G产品的原型开发与验证。该系统可以在实验室搭建一个真实的5G 网络&#xff0c;基于开源的代码&#xff0c;专为科研用户设计。 软件无线电架构&#xff0c;构建真实5G移动通信系统 X410 采用了目前流行的异构式系统&#xff0c;融合了FP…...

ubuntu20.04设置开机自启动jar(依赖其他服务)

目的&#xff1a; 有的时候我们的项目是部署在物理机上给其他公司员工使用&#xff0c;对于他们来说操作越简单越好。所以我需要实现将我的jar部署在ubuntu上&#xff0c;实现开机自启。&#xff08;我的项目依赖emqx服务&#xff09;。 步骤&#xff1a; 切换到system目录 …...

【GEE笔记】在线分类流程,标注样本点、分类和精度评价

GEE在线分类流程 介绍 GEE&#xff08;Google Earth Engine&#xff09;是一个强大的地理信息处理平台&#xff0c;可以实现在线的遥感影像分析和处理。本文将介绍如何使用GEE进行在线的分类流程&#xff0c;包括标注样本点、分类和精度评价。本文以2020年5月至8月的哨兵2影像…...

MATLAB基础运算

矩阵和数字相乘 就是矩阵里面每个元素跟这个数字乘一遍 矩阵和矩阵相乘 能不能相乘&#xff0c;需要前面矩阵的列数等于后面矩阵的行数&#xff0c;出来的矩阵大小是前面矩阵的行数*后面矩阵的列数。 所以大家会发现&#xff0c;矩阵相乘如果前后调转了&#xff0c;结果会完全…...

Linux DAC权限的简单应用

Linux的DAC&#xff08;Discretionary Access Control&#xff09;权限模型是一种常见的访问控制机制&#xff0c;它用于管理文件和目录的访问权限。作为一名经验丰富的Linux系统安全工程师&#xff0c;我会尽可能以简单明了的方式向计算机小白介绍Linux DAC权限模型。 在Linu…...

JVS低代码表单引擎:数据校验与处理的先锋

随着信息技术的迅速发展&#xff0c;数据校验与处理已经成为了各类应用中不可或缺的一环。尤其是在涉及敏感信息&#xff0c;如密码处理时&#xff0c;其安全性和准确性显得尤为重要。JVS低代码表单引擎提供了强大的文本组件触发逻辑校验功能&#xff0c;它能够在用户填写数据的…...

clickhouse删除partition分区数据

clickhouse分布式表tencent_table_20231208_DIST&#xff0c;本地表tencent_table_20231208_local&#xff1b; 30台clickhouse存储服务器&#xff1b; 本地表&#xff1a;tencent_table_20231208_local CREATE TABLE tencent_sz.tencent_table_20231208_local (id Int64 DEFA…...

持续集成交付CICD:CentOS 7 安装 Nexus 3.63

目录 一、实验 1.CentOS 7 安装Nexus3.63 二、问题 1.安装Nexus报错 2.Nexus启动停止相关命令 一、实验 1.CentOS 7 安装Nexus3.63 &#xff08;1&#xff09;当前操作系统版本&JDK版本 cat /etc/redhat-releasejava -version&#xff08;2&#xff09;下载Nexus新…...

手把手调试Linux DRM:如何用ftrace和debugfs深入connector的生命周期

深入Linux DRM调试&#xff1a;用ftrace与debugfs剖析connector全生命周期 当一块崭新的显示板卡接入系统时&#xff0c;DRM驱动中的connector如同一位尽职的接线员&#xff0c;负责建立显示设备与内核之间的通信桥梁。但在实际开发中&#xff0c;我们常会遇到热插拔检测失灵、…...

ESP32高精度低延迟ADC自定义库:寄存器级模拟读取优化

1. 项目概述ESP32AnalogRead Custom是由嵌入式开发者 Khrisna Ijlal Bachri 针对 ESP32 系列微控制器定制优化的模拟输入读取库。该库并非官方 ESP-IDF ADC 驱动的简单封装&#xff0c;而是聚焦于解决实际工程中高频采样、多通道同步、噪声抑制与低功耗场景下的典型痛点。其核心…...

智能预处理预览功能详解:Anything to RealCharacters 2.5D引擎稳定性保障机制

智能预处理预览功能详解&#xff1a;Anything to RealCharacters 2.5D引擎稳定性保障机制 1. 项目概述 Anything to RealCharacters 2.5D转真人引擎是一款专为RTX 4090显卡优化的图像转换系统&#xff0c;能够将卡通、二次元、2.5D风格的图像高质量转换为写实真人照片。该系统…...

Arduino Mega硬件PWM舵机库:绕过Software Delay实现±0.5μs高精度控制

1. 项目概述Servo Hardware PWM是一款专为 Arduino/Genuino Mega 系列开发板设计的高性能舵机控制库。其核心目标是绕过软件定时与通用 I/O 抽象层&#xff0c;直接利用 ATmega2560 微控制器内置的 16 位硬件定时器/计数器&#xff08;Timer3、Timer4、Timer5&#xff09;生成精…...

互联网应用架构:LiuJuan20260223Zimage高并发服务设计

互联网应用架构&#xff1a;LiuJuan20260223Zimage高并发服务设计 1. 引言 想象一下这样的场景&#xff1a;你的图片服务突然火了&#xff0c;每秒有几十万用户同时上传和查看图片&#xff0c;服务器开始报警&#xff0c;响应速度越来越慢&#xff0c;用户体验直线下降。这不…...

如何让键盘听懂你的设备语言?设备条件判断打造智能多设备键盘映射方案

如何让键盘听懂你的设备语言&#xff1f;设备条件判断打造智能多设备键盘映射方案 【免费下载链接】Karabiner-Elements Karabiner-Elements is a powerful utility for keyboard customization on macOS Sierra (10.12) or later. 项目地址: https://gitcode.com/gh_mirrors…...

如何参与Data-Science-For-Beginners社区贡献:完整开源项目参与指南

如何参与Data-Science-For-Beginners社区贡献&#xff1a;完整开源项目参与指南 【免费下载链接】Data-Science-For-Beginners 10 Weeks, 20 Lessons, Data Science for All! 项目地址: https://gitcode.com/GitHub_Trending/da/Data-Science-For-Beginners Data-Scienc…...

【2026年蚂蚁集团暑期实习- 3月29日-开发岗-第二题- 质数合数】(题目+思路+JavaC++Python解析+在线测试)

题目内容 在数论中,质数是大于 $1 $且仅能被 $1 和自身整除的正整数;合数是大于和自身整除的正整数;合数是大于和自身整除的正整数;合数是大于 1$ 且除了 $1 $和自身外还有其他正因子的正整数。 给定一个长度为$ n$ 的数组 { a1,a2,…,ana_1,a_2,…,a_na...

【Linux】新手必看:高频指令实战演练Part One

1. Linux命令行初体验&#xff1a;从零到上手 第一次打开Linux终端时&#xff0c;那种黑底白字的界面确实容易让人发懵。记得我刚开始接触时&#xff0c;连最基本的"怎么退出当前命令"都要百度半天。但别担心&#xff0c;命令行其实就像学骑自行车 - 刚开始摇摇晃晃&…...

终极指南:如何使用Docker Stacks与Git Hooks实现自动化代码质量检查

终极指南&#xff1a;如何使用Docker Stacks与Git Hooks实现自动化代码质量检查 【免费下载链接】docker-stacks Ready-to-run Docker images containing Jupyter applications 项目地址: https://gitcode.com/gh_mirrors/do/docker-stacks Docker Stacks是一个提供现成…...