Можете ли вы извлечь матрицу данных из pheatmap в R?

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

Есть ли способ вывести кластеризованные данные тепловой карты в виде матрицы в файл Excel?

1 ответ

Одним из способов является прямое воспроизведение кластеризации данных. Входные параметры по умолчанию для 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]
Другие вопросы по тегам