2015-09-25 11 views
0

Я создал карту тепла, основанную на данных микроматрицы гена, а затем использовал pheatmap для кластеризации данных и вывода тепловой карты.Можете ли вы извлечь матрицу данных из pheatmap в R?

Есть ли способ вывода кластеризованных данных тепловой карты в матричной форме в файл 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]