Игнорировать значения ниже порогового значения в матрице смежности для тепловых карт в R

У меня есть матрица смежности (netm) с одновременным появлением в основном 0. Я получаю карту тепла ниже, когда я строю ее, используя:

require(gplots)
heatmap.2(netm,col=c("gold", "dark orange","orange","yellow"),
    Rowv=F, Colv=F, dendrogram="none", scale="none", trace="none")

Как я могу игнорировать значения ниже определенного порога в матрице? Я не хочу отображать значения ниже 3 в моей матрице совместного использования графика.

Снимок данных (матрица совпадений)

    bacardi breezer aldi    rum white   coconut
bacardi 0   2   0   1   0   0
breezer 2   0   0   0   0   0
aldi    0   0   0   1   1   0
rum 1   0   1   0   1   1
white   0   0   1   1   0   0
coconut 0   0   0   1   0   0
drinks  0   0   0   1   0   1
daniel  0   0   0   1   0   0

1 ответ

Решение

Либо вы можете заменить NA к нежелательным значениям (например, 0 с) и сохранить их на графике:

netm2 <- netm
netm2[netm2 == 0] <- NA
heatmap.2(netm2, col=c("gold", "dark orange","orange","yellow"), Rowv=F, Colv=F, dendrogram="none", scale="none", trace="none")

или вручную удалить столбцы / строки, которые содержат NAs:

netm3 <- netm2[complete.cases(netm2), complete.cases(t(netm2))]
heatmap.2(netm3, col=c("gold", "dark orange","orange","yellow"), Rowv=F, Colv=F, dendrogram="none", scale="none", trace="none")
Другие вопросы по тегам