R语言绘制二元聚类图

Python019

R语言绘制二元聚类图,第1张

R语言绘制二元聚类图

说明

之前使用k均值方法将数据划分到不同的簇中,但当变量个数大于2时,就无法在二维空间中展示数据聚类的过程,因此可以使用二元聚类图先将变量减少成两个主要成分,然后利用组件(诸如轴线和椭圆)来展示数据聚类的结果。

操作

载入包,绘制二元聚类图

library("cluster")

clusplot(customer,fit$cluster,color = TRUE,shade = TRUE)

二元聚类图

对二元聚类图进行标记并放大:

par(mfrow = c(1,2))

clusplot(customer,fit$cluster,color = TRUE,shade = TRUE)

rect(-0.7,-1.7,2.2,-1.2,border = "orange",lwd = 2)

clusplot(customer,fit$cluster,color = TRUE,xlim = c(-0.7,2.2),ylim =c(-1.7,-1.2))

原理

本节绘制了一个二元聚类图以展示数据聚类的过程,我们首先安装和导入cluster算法包,然后使用clusplot函数绘制customer数据集的二元聚类图,clusplot函数的shade和color参数值均被设置成TRUE,得到一个彩色且带边框的聚类。 在得到的结果图中,可以得知二元聚类使用了两个成分,x轴与y轴涵盖了85.01%的数据点,数据点根据成分1和成分2的取值散落在图中,同一簇内的数据点采用相同的颜色和形状绘制。

我们还使用了rect函数来增加一个矩形框对给定x轴和y轴内的簇进行特别标注,然后调用clusplot函数,设置好xlim与ylim参数的值,将被选中的簇放大到显示以便不好的观测簇内数据点的特征。

前言:接上一篇,很多文献中为了更直观的展示一个微环境中的菌群分布,常常将样本聚类与物种丰度同时展示。

1.数据结构

首先需要准备丰度数据表Abundance.txt和分组信息group.txt

丰度数据以样本为列名,以菌种为行名:

分组信息以列出了每个样本属于病例/对照组:

3.再画丰度图

丰度图其实就是堆叠图:

4.结果展示

前言: 仍然是三代测序数据的分析,宏基因组的文章中经常出现聚类热图和物种丰度图,用来直观地识别与某些疾病或者表型相关的菌群构成。

1.读取数据

一共有11个样本,每一个样本的测序reads都经过Nanopore官方的Epi2Me程序鉴定了物种,下表中第一列是被鉴定的菌种,第二列是该样本中每个物种产生的reads数目。

首先导入到R语言中,合并所有样本到一个数据框:

2.绘制热图

经过上一步,我们得到了列名为样本,行名为菌种的reads数据框,然后就可以绘制热图,进行聚类分析了:

绘制结果:

3.绘制物种丰度图

丰度图,其实就是堆积图,把每个样本的reads数目转换为百分数,然后作图就可以了:

绘制结果: