2015-09-25 134 views
0

我基於基因芯片數據創建了熱圖,然後使用pheatmap對數據進行聚類並輸出熱圖。你能從R中的pheatmap中提取數據矩陣嗎?

有什麼方法可以將矩陣形式的熱圖集羣數據輸出到excel文件中嗎?

+0

如果將熱圖保存爲對象,則可以訪問數據。看看結構('str()'),它可能就在那裏 – erasmortg

回答

0

一種方法是直接重現數據聚類。 pheatmap的默認輸入參數指定歐幾里德距離和層次聚類。

下面的代碼重現了pheatmap將在測試矩陣上執行的聚類。 reordered的內容是由pheatmap繪製的內容。

# load clustering library 
library(stats) 

# example matrix from pheatmap documentation 
test = matrix(rnorm(200), 20, 10) 
test[1:10, seq(1, 10, 2)] = test[1:10, seq(1, 10, 2)] + 3 
test[11:20, seq(2, 10, 2)] = test[11:20, seq(2, 10, 2)] + 2 
test[15:20, seq(2, 10, 2)] = test[15:20, seq(2, 10, 2)] + 4 
colnames(test) = paste("Test", 1:10, sep = "") 
rownames(test) = paste("Gene", 1:20, sep = "") 

# cluster and re-order rows 
rowclust = hclust(dist(test)) 
reordered = test[rowclust$order,] 

# cluster and re-order columns 
colclust = hclust(dist(t(test))) 
reordered = reordered[, colclust$order]