stats::heatmap ничего не отображает, когда данные одинаковы

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

heatmap(matrix(rep(1,25),5,5,dimnames=list(letters[1:5],letters[6:10])))
Warning messages:
1: In min(x) : no non-missing arguments to min; returning Inf
2: In max(x) : no non-missing arguments to max; returning -Inf

введите здесь описание изображения

Я ожидал, что везде будет красная карта... есть обходной путь?


heatmap(matrix(rep(1,25)+rnorm(25),5,5,dimnames=list(letters[1:5],letters[6:10])))

введите здесь описание изображения



person statquant    schedule 05.03.2014    source источник
comment
Какой обходной путь вы хотите? изящно потерпеть неудачу или все же дать вам изображение? подсказка: попробуйте это image(x), image(t(x)), heatmap(x, scale="none"). По умолчанию в тепловой карте масштабируется по строкам, если матрица симметрична. Подумайте, что происходит, когда вы масштабируете матрицу из 1 с   -  person infominer    schedule 05.03.2014
comment
Спасибо, вы могли бы написать это как ответ...   -  person statquant    schedule 05.03.2014


Ответы (1)


Работает с помощью функции heatmap.2 из пакета gplots

install.packages("gplots")    
library(gplots)

a <- matrix(rep(1,25),5,5,dimnames=list(letters[1:5],letters[6:10]))
heatmap.2(a)

введите здесь описание изображения

Если вам не нравится цветовая легенда в верхнем левом углу, вы можете поиграть со многими параметрами в gplots. И, конечно же, в этом случае есть «плоская дендрограмма».

person Alice    schedule 05.03.2014