R語言ConsensusClusterPlus包無監(jiān)督聚類
爾云間? 一個專門做科研的團(tuán)隊
? ?

一致法無監(jiān)督聚類廣泛應(yīng)用于癌癥分子亞型分型中,我們在查看文獻(xiàn)這部分分析中經(jīng)常看到以下幾個圖
Tracking plot ,可以看到不同K之下各個樣本的亞型分組情況,如果該樣本在不同的k值下亞型分組不變,就說明該樣本比較穩(wěn)定,反之則不穩(wěn)定,如果一種亞型含有很多不穩(wěn)定樣本,則說明該亞型不穩(wěn)定。

小果之前給大家分享過多篇雙疾病的研究思路文章
Delta area,根據(jù)此圖我們可以依據(jù)拐點法判斷最佳分組,拐點后隨著聚類數(shù)的增加,損失函數(shù)的收益越來越小,因此通常選擇拐點作為最佳K值,這種方法也被形象的稱為手肘法。

CDF圖,展示各個K值下的曲線下面積

一致性矩陣熱圖,聚類效果好的話,下圖中的藍(lán)色和白色也就是矩陣對應(yīng)的0和1會分割的很清楚,看起來比較干凈。

下面小果就把對應(yīng)的代碼貼出來
rm(list=ls());gc();
BiocManager::install("ConsensusClusterPlus")
#準(zhǔn)備輸入數(shù)據(jù)
library(data.table)
express<-fread("express.CSV")
express<-as.data.frame(express)
rownames(express)<-express[,1]
express<-express[,-1]
class(express)
colname<-colnames(express)#保存行名
rowname<-rownames(express)#保存列名
express<-as.data.frame(lapply(express,as.numeric))#數(shù)據(jù)框轉(zhuǎn)換為數(shù)值型
colnames(express)<-colname
rownames(express)<-rowname
#歸一化
express = sweep(express,1, apply(express,1,median,na.rm=T))
express<-as.matrix(express)
#運行ConsensusClusterPlus
library(ConsensusClusterPlus)
title="untitled_consensus_cluster"
results = ConsensusClusterPlus(express,maxK=10,reps=1000,pItem=0.8,pFeature=1,
?????????????????????????????? title=title,clusterAlg="hc",distance="pearson",
?????????????????????????????? seed=1262118388.71279,plot="pdf", writeTable = TRUE)
#1. pItem, 選擇80%的樣本進(jìn)行重復(fù)抽樣
#2. pfeature, 選擇80%的基因進(jìn)行重復(fù)抽樣
#3. maxK, 最大的K值,形成一系列梯度
#4. reps, 重復(fù)抽樣的數(shù)目
#5. clusterAlg, 層次聚類的算法
#6. distanc, 距離矩陣的算法
#7. title, 輸出結(jié)果的文件夾名字,包含了輸出的圖片
#8. seed, 隨機(jī)種子,用于重復(fù)結(jié)果
str(results[[2]])
# 一致性矩陣,樣本的鄰接矩陣
dim(d)
dim(results[[2]][["consensusMatrix"]])
results[[2]][["consensusMatrix"]][1:5,1:5]
# 樣本的聚類樹
results[[2]][["consensusTree"]]
# ml, 就是consensusMatrix
results[[2]][["ml"]][1:5,1:5]
results[[2]][["consensusMatrix"]][1:5,1:5]
# clrs, 顏色
results[[2]][["clrs"]]
#收集cluster-consensus和item-consensus 矩陣
icl = calcICL(results,title=title,plot="pdf",writeTable=TRUE)
icl[["clusterConsensus"]]
dim(icl[["itemConsensus"]])
icl[["itemConsensus"]][1:5,]
關(guān)注小果,小果將會持續(xù)為你帶來更多生信干貨哦。
