Bu yazı yararlı olabilir inanıyoruz:
How does R heatmap order rows by default?
örneğin aşağıdaki matrisi atın:
set.seed(321)
m = matrix(nrow=7, ncol = 7, rnorm(49))
> m
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] 1.7049032 0.2331354 -1.1534395 -0.10706154 -1.1203274 0.11453945 0.2503958
[2,] -0.7120386 0.3391139 -0.8046717 0.98833540 -0.4746847 -2.22626331 0.2440872
[3,] -0.2779849 -0.5519147 0.4560691 -1.07223880 -1.5304122 1.63579034 0.7997382
[4,] -0.1196490 0.3477014 0.4203326 -0.75801528 0.4157148 -0.15932072 0.3414096
[5,] -0.1239606 1.4845918 0.5775845 0.09500072 0.6341979 0.02826746 0.2587177
[6,] 0.2681838 0.1883255 0.4463561 -2.33093117 1.2308474 -1.53665329 0.9538786
[7,] 0.7268415 2.4432598 0.9172555 0.41751598 -0.1545637 0.07815779 1.1364147
Sen parametreleri Rowv
ile satır ve sütun sırasını geçersiz kılabilir Colv
. Siparişi dendrogram olarak geçersiz kılabilirsiniz. Örneğin, işlevini hclust
kullanarak sipariş hesaplayabilir, daha sonra bir dendrogramın olarak heatmap
o geçmesi:
rhcr <- hclust(dist(m))
chrc <- hclust(dist(t(m)))
heatmap(m,Rowv = as.dendrogram(rhcr),
Colv = as.dendrogram(rhcr))
> rhcr$order
[1] 1 3 6 2 7 4 5
> chrc$order
[1] 6 4 5 1 2 3 7
verir:
Hclust heatmap
varsayılan ısı haritası işlevi ek bir adım kullanır, ancak dendrogramı satır/sütun ortalamasının mümkün olan en fazla bazını yeniden düzenleyen reorderfun = function(d, w) reorder(d, w)
parametresi aracılığıyla. Bu ek adımla varsayılan siparişi yeniden oluşturabilirsiniz. Yani heatmap
aynı sıralamayı elde etmek için, bunu yapabilirsiniz:
olarak basitçe
heatmap(m)
aynı çıktıyı verir
rddr <- reorder(as.dendrogram(rhcr),rowMeans(m))
cddr <- reorder(as.dendrogram(chcr),colMeans(m))
> as.hclust(rddr)$order
[1] 3 1 6 2 4 5 7
> as.hclust(cddr)$order
[1] 6 4 5 1 2 3 7
:
Default heatmap
sütunları yeniden alamadım başına Bu örnekte, ancak satırlar yapar. Son olarak, siparişi kolayca almak için ısı haritasını bir değişkene atayabilir ve çıktı alabilirsiniz.
> p <- heatmap(m)
> p$rowInd
[1] 3 1 6 2 4 5 7
> p$colInd
[1] 6 4 5 1 2 3 7
İlgili soru: [? Herhangi dendrogramın olmadan satır sıralanmış arsa almak için hangi ısı haritası/resim] (https://stackoverflow.com/questions/10562078/r-which-heatmap-image-to-get- satır-ayrılmış-arsa-olmadan-herhangi-dendrogram) – smci