一.读取数据
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)