Выделите ячейки в тепловой карте
В настоящее время я пытаюсь настроить тепловую карту матрицы и выделить конкретные ячейки на основе двух других матриц.
Пример:
> SOI
NAP_G021 NAP_G033 NAP_G039 NAP_G120 NAP_G122
2315101 59.69418 27.26002 69.94698 35.22521 38.63995
2315102 104.15294 76.70379 114.72999 97.35930 79.46014
2315104 164.32822 61.83898 140.99388 63.25482 105.48041
2315105 32.15792 21.03730 26.89965 36.25943 40.46321
2315103 74.67434 82.49875 133.89709 93.17211 35.53019
> above150
NAP_G021 NAP_G033 NAP_G039 NAP_G120 NAP_G122
2315101 0 0 0 0 0
2315102 0 0 0 0 0
2315104 1 0 0 0 0
2315105 0 0 0 0 0
2315103 0 0 0 0 0
> below30
NAP_G021 NAP_G033 NAP_G039 NAP_G120 NAP_G122
2315101 0 1 0 0 0
2315102 0 0 0 0 0
2315104 0 0 0 0 0
2315105 0 1 1 0 0
2315103 0 0 0 0 0
Теперь я создаю нормальную тепловую карту:
heatmap(t(SOI), Rowv = NA, Colv = NA)
Теперь я хочу выделить ячейки с 1 вabove150
с рамкой одного цвета (например, синего цвета), тогда как ячейки с 1 вbelow30
должен получить красную рамку. Конечно, все матрицы одинакового размера, поскольку они связаны между собой. Я знаю, что могу добавлять вещи в тепловую карту после обработки с помощью add.expr, но до сих пор мне только удалось создать полные контуры, охватывающие всю тепловую карту =>, а не то, что я ищу.
Если у кого-то есть какие-либо предложения, я был бы рад.