用R语言分析:表达矩阵样本的相关性及可视化

一.读取数据

library(airway)
#Biocductor R包为三种:1.功能函数包2.数据包3.注释包(芯片基因之间的转换)
#此为中的一种,为数据包
data(airway)#加载数据
exprSet=assay(airway)#获取表达矩阵,默认airway获取表达矩阵就是assay,没有原因的
colnames(exprSet)#看表达矩阵的列名
dim(exprSet)#查看表达矩阵的维度

二.设定分组信息

group_list=colData(airway)[,3]#得出分组信息
tmp=data.frame(group_list)#把group_list向量变为数据框tmp
row.names(tmp)=colnames(exprSet)
#把tmp的行名改为exprSet的列名

三.筛选有意义的基因判断相关性

筛选基因之后进行相关性计算,去掉基因中:有3个以上为表达量0的样本的基因

exprSet=exprSet[apply(exprSet,1,function(x)sum(x>1)>5),]
##分别对数据中每一行的数据进行一个什么运算,1代表行,2代表列
dim(exprSet)
exprSet=log(edgeR::cpm(exprSet)+1)
dim(exprSet)
exprSet=exprSet[names(sort(apply(exprSet,1,mad),decreasing = T)[1:500]),]
#按照mad筛选前500个基因
#MAD(Median absolute deviation)绝对中位值.
#MAD:就是先求出给定数据的中位数(注意并非均值)然后原数列的每个值与这个中位数求出绝对差,然后新数列的中位值就是MAD

四.进行相关性计算

M=cor(log2(exprSet+1))#

五.画出相关性数据的热图

pheatmap::pheatmap(M,annotation_col = tmp)
用R语言分析:表达矩阵样本的相关性及可视化_第1张图片
Rplot02.jpeg

最后

感谢jimmy的生信技能树团队!

感谢导师岑洪老师!

感谢健明、孙小洁,慧美等生信技能树团队的老师一路以来的指导和鼓励!

特别注明:此文中编码来自生信技能树健明老师

你可能感兴趣的:(用R语言分析:表达矩阵样本的相关性及可视化)